springboot下载操作


//处理文件下的操作 @RequestMapping("down") public void download(String fileName, HttpServletRequest request, HttpServletResponse response) throws IOException { //根据相对路径获得绝对路径 String realPath = request.getServletContext().getRealPath("/download"); //获取文件名,根据文件名去指定的目录读取文件 FileInputStream is = new FileInputStream(new File(realPath,fileName)); //设置下载时的响应头 response.setHeader("content-disposition","attachment;fileName="+ URLEncoder.encode(fileName,"UTF-8")); //通过响应流响应即可 ServletOutputStream outputStream=response.getOutputStream(); //流的复制 IOUtils.copy(is,outputStream); IOUtils.closeQuietly(is); IOUtils.closeQuietly(outputStream); }

 上述是FileController里面的内容下载操作

    <h1>测试下载文件处理</h1>
    <a href="${pageContext.request.contextPath}/file/down?fileName=1.xlsx">1.xlsx</a>
    <a href="${pageContext.request.contextPath}/file/down?fileName=(1)青春上海魔都文艺通票.pdf">(1)青春上海魔都文艺通票.pdf</a>
    <a href="${pageContext.request.contextPath}/file/down?fileName=(3)懒申活.pdf">(3)懒申活.pdf</a>

上述是jsp里面的代码

 

 代码结构

 

 

 

开发文件下载操作过程:

  1.将应用中指定下载文件放入应用指定目录中

  2.开发下载页面并再页面中提供给可以下载文件链接

  3.开发控制器处理下再相关操作,获取下载指定文件标识,处理下载操作

    注意:再开发下载控制中响应的不是一个文件流,不能存在页面跳转

posted @ 2020-08-20 10:41  一个想飞的菜鸟  阅读(551)  评论(0)    收藏  举报