下载初步学习
-
下载就是向客户端响应字节数据!
把一个文件变成字节数组,使用response.getOutputStream()反映给浏览器 -
下载的要求
- 两个头一个流!
Content-Type:传递给客户端的文件是什么MIME类型,例如:image/pjpeg
- 通过文件名称调用ServletContext的getMimeType()方法,得到MIME类型!
Content-Disposition:它的默认值为inline,表示在浏览器窗口中打开!
String ContentDispostion="attachement,filename="xxx;- 在filename=后面跟随的是显示在下载框中的文件名称!
流:要下载的文件数据!
*FileInputStream input=new FileInputStream(filename);
下载的细节
- 显示在下载框中的中文名称时,会出现乱码。
- FireFox:Base64编码。
- 其他大部分浏览器:URL编码。
通用方案:filename = new String(filename.getBytes(“GBK”), “ISO-8859-1”);
也可以选择调用下面的方法
代码示例