spring boot 靜態文件下載

後端:

@GetMapping("/downloadTemplateForUser")
@ResponseBody
public void downloadTemplateForUser(HttpServletResponse response) throws Exception {
    String path = "/static/upload/D110-1.xml" ;
    String fileName = path.substring(path.lastIndexOf("/") + 1);
    downExcelTemplate(response, path, fileName);
    return;

}

private void downExcelTemplate(HttpServletResponse response, String path, String fileName) throws IOException {
    /** 將文件名稱進行編碼 */
    response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
    response.setContentType("content-type:octet-stream");
    /** 讀取服務器端模板文件*/
    InputStream inputStream = DownloadController.class.getResourceAsStream(path);

    /** 將流中內容寫出去 .*/
    OutputStream outputStream = response.getOutputStream();
    byte[] buffer = new byte[1024];
    int len;
    while ((len = inputStream.read(buffer)) != -1) {
        outputStream.write(buffer, 0, len);
    }
    inputStream.close();
    outputStream.close();
}

前端:

<a href="downloadTemplateForUser">下載

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章