设置响应报头contentType:application/x-msdownload
告诉浏览器其所输出的内容的类型不是普通的文本文件或HTML文件,而是一个要保存到本地的下载文件
response.setContentType("application/x-msdownload");
在老版本的浏览器中需要这个设置,如果不设置,浏览器会将文件直接在浏览器中打开
设置响应报头
Content-Disposition:attachment
Web服务器希望浏览器不直接处理相应的实体内容,而是由用户选择将相应的实体内容保存到一个文件中.
response.setHeader("Content-Disposition", "attachment; filename=建议保存名称")
解决下载保存文件乱码问题
(FF)response.setHeader("Content-Disposition","attachment;filename="+new String(filename.getBytes("UTF-8"),"ISO8859-1"));
(IE)response.setHeader("Content-Disposition", "attachment;filename="+URLEncoder.encode(filename, "utf-8"));