天天看点

JavaWeb:下载文件

页面显示超链接

点击超链接后弹出下载提示框<code>在这里插入代码片</code>

完成图片文件下载

超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框。不满足需求。

任何资源都必须弹出下载提示框

使用响应头设置资源的打开方式:<code>content-disposition:attachment;filename=xxx</code>

定义页面,编辑超链接href属性,指向servlet,传递资源名称filename

定义servlet

① 获取文件名称

② 使用字节输入流加载文件进内存

③ 指定response的响应头: content-disposition:attachment;filename=xxx

④ 将数据写出到response输出流

中文文件问题

解决思路:

① 获取客户端使用的浏览器版本信息

② 根据不同的版本信息,设置filename的编码方式不同

download.html

downloadservlet.java

downloadutils.java