1. 程式人生 > >springMVC中檔案下載(ajax好像不行)

springMVC中檔案下載(ajax好像不行)

在做專案時,要做個到指定目錄下載檔案,首先要引入jar包,Apache-commons系列中的fileupload;

下面是controler層的程式

package com.ygoa.controller;


@Controller
public class FileController {
    @Autowired
    private ExtractExcel extractExcel;

    @RequestMapping("/downloadExcel")
    public ResponseEntity<byte[]> create(HttpSession httpSession) throws Exception {
        //先檢查檔案庫是否有上月報表,如果有上月報表,就提示上月報表已經生成

        String[] results = extractExcel.createExcel(httpSession);

        String loadPath = results[0];
        String existExcel = results[1];
        System.out.println(loadPath+existExcel);

        //定義下載的檔案物件
        File file=new File(loadPath);
        //響應頭部資料物件
        HttpHeaders headers=new HttpHeaders();
        //定義響應內容型別為流
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        //通知瀏覽器以附件形式儲存檔案
        String fileName = StringUtils.substringAfterLast(loadPath,"\\");
        System.out.println(fileName);
        headers.setContentDispositionFormData("attachment",fileName);

        return new ResponseEntity<>(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);

    }

}

下面是js的程式碼

 function downloadByMonth(){
        var month = $('#inputMonth').val();
        var year = $('#inputYear').val();

        window.location.href="/ygoa/downloadByMonth?month="+month+"&year="+year;

       /* $.ajax({
            type:"post",
            url:"/ygoa/downloadByMonth?month="+month+"&year="+year,
            dataType:"json",
            success:function(data){
               alert('成功!')
            }
        })*/
    }

這裡使用註釋中的ajax方法是不行的,因為由jquery ajax專門的上傳檔案

相關推薦

springMVC檔案下載ajax好像不行

在做專案時,要做個到指定目錄下載檔案,首先要引入jar包,Apache-commons系列中的fileupload;下面是controler層的程式package com.ygoa.controller; @Controller public class FileCont

django檔案下載HttpResponse

      最近一個用django開發的web專案要進行資料的匯入匯出,所以有必要了解下。      django中主要用HttpResponse將請求結果返回給瀏覽器,所以檔案的下載也是通過改物件進行處理的,具體的一個列子的程式碼如下: #檔案下載 def downloa

檔案下載例如EXCEL匯出優化之防止使用者多次操作

問題簡介  在專案中客戶提出優化一下系統的匯出excel功能,由於有時候資料量比較大,伺服器查詢資料和生成檔案的事件可能會比較長,所以促使在匯出excel時頁面可能會長時間沒反應,使用者可能會以為系統卡頓就頻繁點選匯出按鈕。那麼我們需要在此期間不讓使用者重複操作,當檔案生成好了並且下

SmartUpload實現檔案下載單個以及批量

首先需要前臺請求後臺並向後臺傳送所要下載的檔名稱(可以通過表單或者超連結等)單個下載:1)例項化:SmartUpload su=new SmartUpload();2)初始化:su.initialize(getServletConfig(),request,response)

iOS開發網路篇—檔案下載暫停和恢復

一、Range簡單說明 通過設定請求頭Range可以指定每次從網路下載資料包的大小 Range示例 bytes=0-499 從0到499的頭500個位元組 bytes=500-999 從500到999的第二個500位元組 bytes=500- 從500位元組以後的所有位元組  bytes=-500 最後50

OKHTTP_三行程式碼實現檔案下載dialog顯示進度

後來寫了一篇檔案下載的,使用的Xutil框架 ,穩定性更佳,建議大家使用,大型檔案不推薦OKHTTp 部落格地址 :http://blog.csdn.net/fkgjdkblxckvbxbgb/article/details/78273687 週末早,接下來幾篇部落格會對

Springmvc 檔案下載上傳在Excel匯入有,類似

package com.ssm.controller; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.springfr

SpringMVC實現檔案下載功能檔案匯出功能

1.頁面程式碼 <a class="layui-btn" href="${pageContext.request.contextPath}/bAndWListManage/downloadWhiteListTmp.do" onclick="downloadTempla

javaweb實現檔案下載包含.txt檔案等預設在瀏覽器開啟的檔案

檔案下載  剛開始研究檔案下載是找有關js的方法,找了好多發現對於.txt、.xls等檔案在瀏覽器中還是開啟,或者就是跨域問題。後來通過查詢資料發現可以在後臺對http相應頭設定引數,而且實現起來也不復雜。現總結如下: 文章參考 《javaweb檔案下載》、《根據網路url 實現w

SpringMVC檔案下載功能附上完整的springmvc檔案上傳下載示例

========================================================== 以下使用maven建立檔案上傳下載 ============================ pom.xml <project xmlns="h

【Android架構】基於MVP模式的Retrofit2+RXjava封裝之檔案下載

上篇中我們介紹了基於MVP的Retrofit2+RXjava封裝,還沒有看的點選這裡,這一篇我們來說說檔案下載的實現。 首先,我們先在ApiServer定義好呼叫的介面 @GET Observable<ResponseBody> downloadFile(@

檔案上傳下載簡易體驗版

檔案上傳 寫在servlet dopost中的方法: //建立讀取的檔案的工廠類 DiskFileItemFactory factory = new DiskFileItemFactory(); //讀取request裡面流的 解析類 ServletFileUpload up

SpringMVC 重定向redirect傳參

SpringMVC中,重定向(redirect)傳參時,也就是從一個controller傳參到另一個controller,有兩種方法: 一、問號傳參的方式(適合提交方式為get的) return "redirect:/index?id=XXX"; 二、利用“RedirectAttribu

web專案-檔案下載檔案伺服器-應用伺服器-客戶端

檔案的下載一直都是web專案中的常用功能,但是在我們公司專案中,專案上線後單下載功能方面都可以簡單易懂的說分為三個部分,即檔案伺服器、應用伺服器和客戶端,而我們在上傳的時候都是將上傳儲存到檔案伺服器(也可以俗稱網路伺服器),而在資料庫中儲存的只是檔案在檔案伺服器上的地址,類

JavaWeb學習HttpServletResponse基本應用——檔案下載4

檔案下載功能是web開發中經常使用到的功能,使用HttpServletResponse物件就可以實現檔案的下載 一、檔案下載功能的實現思路:   (1)獲取要下載的檔案的絕對路徑   (2)獲取要下載的檔名   (3)設定content-disposition響應頭控制瀏覽器以下載的

Tomcat 釋出檔案下載解決中文亂碼問題

1. 配置檔案conf/web.xml:         <init-param>             <param-name>listings</param-name>             <param-value>

Matlab讀取txt檔案的資料使用textread函式

在使用Matlab處理資料時,我們經常需要讀取txt文件,可以使用Matlab中強大的textread函式。它的基本語法是:[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,forma

自己用到的SpringMVC檔案下載

js介面 function editCustomer(ipid) {         $.getJSON("1111/2222.html", {//上傳路徑         &

html檔案flash格式flv、swf檔案的嵌入

  flash檔案的格式:.FLV 和 .SWF flash視訊格式有兩種副檔名可以使用:.flv和.swf。他們有什麼不同呢? (1)一個.flv檔案(flash視訊)是基於圖片的視訊流和音訊。如果你在執行一個流服務,flv將是一個好的選擇。上游條件是,這個檔案的任何部分

springboot 讀取配置檔案的變數通過註解方式

springboot的application.properties檔案中可以定義一些可配置的常量。在程式中我們不需要再重新的讀取檔案,我們可以直接使用@Value註解讀取配置檔案中的值。首先看一下配置檔案application.properties中的內容是:spring.p