SpringMVC:文件下载

1. 访问资源响应头如果没有设置Content-Disposition,浏览器默认按照inline值进行处理

1.1    inline:能显示就显示,不能显示就下载

2. 只需要修改响应头中Content-Disposition=”attachment;fileName=文件名”

2.1   attachment:下载,以附件方式下载

2.1   fileName=文件名:就是下载时显示的下载文件名

3. 实现步骤:

3.1 导入apatch的两个jar包

3.2 在jsp中添加超链接,设置要下载的文件

                3.2.1 在SpringMVC中放心静态资源文件files

<a href="download?fileName=aaa.txt">下载</a>

<!-- 静态资源 -->     

<mvc:resources location="/files/" mapping="/files/**">

</mvc:resources>

3.3 编写控制器方法

@RequestMapping("/download")

public void download(String fileName, HttpServletRequest request, HttpServletResponse response) throws IOException{

//设置响应流文件进行下载

response.setHeader("Content-Disposition", "attachment;filename="+fileName);

ServletOutputStream os = response.getOutputStream();

String path = request.getServletContext().getRealPath("files");

File file = new File(path,fileName);

//转换成二进制放入响应流中

byte[] bytes = FileUtils.readFileToByteArray(file);

os.write(bytes);

os.flush();

os.close();

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值