先上最终解决代码 有待验证各浏览器效果 : 重点在于黄色记号笔标注的那行代码。网上大多资料都是这么写的: 这种写法对应纯英文的文件名是没有问题的,因为 Content Disposition 里面的 filename ,不是RFC标准,仅支持ASCII编码的文件名。如果文件名不是英文的,就会出现名字乱码,或者被改名的情况。 如何直接采用解码的方式也还是会出现byte数组的文件名: 得到的结果类似 ...
2019-09-17 11:12 0 705 推荐指数:
在写文件下载的时候遇到的一个问题,也就是下载的文件的文件名是中文的话,浏览器下载的时候可能是乱码,解决方案如下: 因为从服务器向浏览器发送中文时,需要对内容进行URL编码。 > 大部分浏览器使用如下方式即可解决乱码问题:URLEncoder.encode(fileName ...
1.首先,jsp页面进行下载的那段话需要使用<s:url>标签: 2.struts2.xml文件中的配置: 这里解释一下:fileName是前台jsp传过来的参数,dnfileName是显示给下载用户看文件名的参数,在Action中初始化(因为如果文件名 ...
首先在文件下载时,请求类型需要设置编码 : 最终文件名处理交给UserAgentUtil的encodeFileName: 这样在进行文件下载时,使用这个工具类对文件名进行一次编码,就可以处理不同浏览器下载文件乱码的问题了。 参考 开源中国 ...
Headers.add("Content-Disposition", "attachment;filename=" + new String(file.getBytes("utf-8"),"i ...
//遇到的现象是,下载含有中文文件名的文件时,能获取到文件,但是使用IE正常,使用firefox,chrome文件名却乱码.//既然如此,就区分一下浏览器再返回好了,处理方式如下 ...