spring实现模板文件下载

Posted 当初的当初

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring实现模板文件下载相关的知识,希望对你有一定的参考价值。

前台

  

<form id="batchModel0" method="post" action="/common/download-file" target="downLoadFile">
  <table>
    <tr>
      <td>
        <a href="#" id="downLoad">通过手机号码查询工号名称</a>
        <input type="hidden" id="remoteFileName" name="remoteFile" value="通过手机号码查询工号名称.xlsx">
        <button class="btnTip " href="#execlNoteSJHM" name="mouldDetail" arrow="false" id="execlMouldSJHM" type="button" />
      </td>
    </tr>
  </table>
</form>

后台

@RequestMapping(value = "common/download-file")
    public void downloadFile(String remoteFile, HttpServletResponse response) {
        try {
            // excel模板路径, 此模板是直接放到项目的文件夹中即可
            File file =
                    ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "resources/batch-excel/" + remoteFile);
            response.reset();
            response.setContentType("application/octet-stream"); // 设置response中的文件内容
            response.setHeader("Pragma", "No-cache");
            response.setHeader("Cache-Control", "no-cache");
            response.setDateHeader("Expires", 0);
            response.setHeader("Content-Disposition",
                               "inline; filename=" + new String((remoteFile).getBytes("gb2312"), "ISO8859-1"));
            OutputStream os = response.getOutputStream();
            InputStream is = new FileInputStream(file);
            try {
                byte[] bytes = new byte[1024];
                while (is.read(bytes) > 0) {
                    os.write(bytes);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                os.flush();
                is.close();
                os.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

以上是关于spring实现模板文件下载的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot:thymeleaf 没有正确渲染片段

Eclipse 中的通用代码片段或模板

Spring MVC 3.2 Thymeleaf Ajax 片段

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

C#常用代码片段备忘

vscode代码片段生成vue模板