文件下载
来源:互联网 发布:淘货源软件下载 编辑:程序博客网 时间:2024/06/05 23:04
1.下载也就是向客户端响应字节数据。要把一个文件变成字节数组,可以通过Response.getOutputStream()给浏览器。
2.下载要点:两个头,一个流!
>contentType:定义传递给客户端的是什么MIME类型。例如:image/jpeg、text/html 等等
>>contentType获取方式:通过ServletContext类中的getMimeType(String filename)得到contentType类型。
>Content-Disposition:它的默认值是inline。表示直接在浏览器中打开!若定义为:attachment;filename=xxx。则表示以附件的形式下载,filename后面跟下载时显示的文件名。
>流:要下载的文件数据。
3.下载框中出现中文乱码问题
>FireFox浏览器:采用的是Base64编码方式。
>其它大部分浏览器:采用的是URL编码方式。
>两种处理方案:
>>最直接、通用的方法:对下载框中出现的文件名先进行如下处理 filename = new String(filename.getBytes("UTF-8"),"ISO8859-1");
>>一劳永逸方案:
private String filenameEncoding(String filename, HttpServletRequest request) throws UnsupportedEncodingException {
String agent = request.getHeader("User-Agent");//获取浏览器信息
if(agent.contains("FireFox")) {//火狐浏览器
BASE64Encoder base64Encoder = new BASE64Encoder();
filename = "=?utf-8?B?"
+base64Encoder.encode(filename.getBytes("utf-8"))
+"?=";
} else if(agent.contains("MSIE")) {//IE浏览器
filename = URLEncoder.encode(filename,"utf-8");
} else {
filename = URLEncoder.encode(filename, "utf-8");
}
return filename;
}
- 下载图片,下载文件
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 文件下载
- 文件下载
- 下载文件
- 文件下载
- 下载文件
- 下载文件
- 文件下载
- 下载文件
- Android常用数据库ORM框架ORMlite和GreenDao比较
- (二)WCF的Binding模型
- windows下搭建Mahout单机环境
- Static Libs With Support to iOS 5 and Arm64
- 数据结构和算法经典100题-第32题
- 文件下载
- Zbar library for iphone 5 (armv7s)
- 做自己想做的工作,你也可以!
- jbpm6.1.0 jbpm-console
- centos5.5配置网络连接(阿和整理)
- countUp.js 数字动画
- Java多线程之生产者消费者2
- 自定义列表li项目符号
- 杭电OJ tree(并查集)