文件下载兼容各种浏览器

@RequestMapping(value = "/downloadfj")

public void downloadfj(HttpServletRequest request, HttpServletResponse response) throws IOException {

String resourceUrl = request.getParameter("fjUrl");

String filePath = request.getSession().getServletContext().getRealPath(resourceUrl);

String name = request.getParameter("fjName");

String suffix = resourceUrl.substring(resourceUrl.lastIndexOf("."));

name = name + suffix;

if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {

name = URLEncoder.encode(name, "UTF-8");// IE浏览器

} else {

name = new String(name.getBytes("utf-8"), "ISO-8859-1");// 其他浏览器

}

response.setContentType("application/x-download");

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

File file = new File(filePath);

FileInputStream in = new FileInputStream(file);

OutputStream out = response.getOutputStream();

byte[] b = new byte[1024];

int len = -1;

while ((len = in.read(b)) != -1) {

out.write(b, 0, len);

}

out.flush();

out.close();

in.close();

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 07:16:21

文件下载兼容各种浏览器的相关文章

文件下载 兼容所有浏览器

文件下载 兼容所有浏览器 download.js文件下载,几乎支持所有类型下载,详细内容参考官网 http://danml.com/download.html 引入文件 <script src='//js.zapjs.com/js/download.js'></script> <script src='//code.jquery.com/jquery-1.9.1.min.js'></script> html <body> <ul> &

兼容各浏览器的文件下载时中文名称乱码的解决方案

public class DownloadServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // codes.. String name = "中文名 带空格 的测试文件.txt"; String userAgent = request.get

添加和移除事件处理兼容各浏览器的封装(带详细注释)

//事件处理兼容各种浏览器,采用能力检测方法,所谓能力检测,就是有能力就做,没有能力就不做 //定义一个处理事件的对象,兼容各种浏览器,dom2级事件处理和ie事件,如果这两个事件都不兼容,就采用dom0级处理 var eventUtil ={ addEvent:function(element,type,handler){ if (element.addEventListener) { //非IE浏览器采用dom2级事件处理,type为事件类型如:click,handler为事件处理函数,fa

(转)兼容主流浏览器的CSS透明代码

透明往往能产生不错的网页视觉效果下面是兼容主流浏览器的CSS透明代码.transparent_class { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; } filter:alpha(opacity=50):这个是为IE6设的,可取值在0-100,其它三个0到1.-moz-opacity:0.5; 这个是为了支持一些老版本的Mozilla浏览器.-khtml-opacity: 0.5

浏览器兼容 各浏览器的Hack写法 [出处:W3CPLUS]

Hack是针对不同的浏览器去写不同的CSS样式,从而让各浏览器能达到一致的渲染效果,那么针对不同的浏览器写不同的CSS CODE的过程,就叫CSS HACK,同时也叫写CSS Hack.然后将Hack放在浏览器特定的CSS文件中,让其符合条件的浏览器解析这些代码,就如前面所说的条件样式,我们将CSS Hack代码放入条件样式文件中,符合条件的浏览器就解析,不符合的将不解析,从面达到您所需要的页面渲染效果.总的一句话来说使用CSS Hack将会使用你的CSS代码部分失去作用,然后借助条件样式,使用

CSS兼容各浏览器的hack

CSS兼容各浏览器的hack:建议:尽可能的手写代码,可以有效的提高学习效率和深度.浏览器的种类多,麻烦自然也多,主要是各种浏览器对某些属性的渲染效果并不相同,所以有时候需要专门针对特定浏览器或者特定版本书写CSS代码,这样就需要用到所谓的“CSS Hack”,下面以一段实例的形式介绍一下个浏览器hack. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content

兼容各浏览器的鼠标滚轮事件

今天趁着工作闲暇的时间,写了一个简单的兼容各浏览器的鼠标滚轮方法: 代码: function mouseWheel(){ if(document.addEventListener){ document.body.addEventListener('mousewheel',function(e){ Detail(e); e.stopPropagation(); e.preventDefalut(); }); document.body.addEventListener('DOMMouseScrol

OPENCART之兼容多种浏览器的加入收藏夹扩展功能插件(CROSS-BROWSER BOOKMAR

OPENCART之兼容多种浏览器的加入收藏夹扩展功能插件(CROSS-BROWSER BOOKMARK) 由于安全原因,谷歌浏览器chrome不允许使用javascript代码加入收藏夹,本插件在谷歌浏览器浏览网站时,给出按Ctrl + D来收藏您的网址. 特色: 1. 适用于多种浏览器版本: IE5+/Win, Firefox, Netscape 6+, Opera 7+, Safari, Google Chrome for Windows, Konqueror 3, IE5/Mac, iCa

css样式兼容不同浏览器问题解决办法

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网站,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所有浏览器 通用 height: 100px; IE6 专用 _height: 100px; IE6 专用 *height: 100px; IE7 专用 *+height: 100px; IE7.FF 共用 height: 100px !important; 一.CSS HACK 1, !important