解决浏览器下载附件乱码问题 IE11
/*** @Title:encodeChineseDownloadFileName* @Description TODO(解决浏览器下载附件乱码问题). * @date 2016年8月19日 * @author lzqiangPC * @param pFileName* @return* @throws Exception*/private static String encodeChineseDownloadFileName( String pFileName) throws Exception { String filename = null; String agent = SpringContextUtil.getHttpServletRequest().getHeader("USER-AGENT"); if (null != agent){ if (-1 != agent.indexOf("Firefox")) {//Firefox filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(pFileName.getBytes("UTF-8"))))+ "?="; }else if (-1 != agent.indexOf("Chrome")) {//Chrome filename = new String(pFileName.getBytes(), "ISO8859-1"); } else {//IE7+ filename = java.net.URLEncoder.encode(pFileName, "UTF-8"); filename = StringUtils.replace(filename, "+", "%20");//替换空格 } } else { filename = pFileName; } return filename; } /*** 附件下载* * @param filename* 文件名* @param path* 文件路径* @param response*/public static void download(String filename, String path,HttpServletResponse response) {InputStream in = null;OutputStream os = null;try {filename = encodeChineseDownloadFileName(filename);response.setContentType("application/x-msdownload");response.setHeader("Content-Disposition", "attachment;filename="+filename);File file = new File(path);if (file.exists()) {in = new FileInputStream(path);os = response.getOutputStream();byte[] b = new byte[1024 * 1024];int length;while ((length = in.read(b)) > 0) {os.write(b, 0, length);}}} catch (Exception e) {e.printStackTrace();} finally {try {if (in != null) {in.close();}if (os != null) {os.close();}} catch (IOException e) {e.printStackTrace();}}}
解决浏览器下载附件乱码问题 IE11相关推荐
- firefox下载附件乱码问题
原文:https://www.oschina.net/question/3288681_2244885 String agent = request.getHeader("USER-AGEN ...
- 解决浏览器下载文件时中文文件名乱码的问题
解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...
- IE浏览器下载文件名乱码
解决IE浏览器下载文件名乱码额问题 //下载的文件名为fileNameString fileName = "登录登出日志统计" + DateUtils.yyyyMMddHHmmss ...
- 火狐浏览器下载文件名乱码
##火狐浏览器下载文件名乱码 response.setHeader("Content-Disposition","attachment;filename*=utf-8'z ...
- Microsoft Edge浏览器下载文件乱码修复方法(二)
之前有写过"Microsoft Edge浏览器下载文件乱码修复方法",发现很多情况下下载文件乱码问题还是存在,这里对之前内容做简单补充,希望可以帮到大家. 方法二: 默认如果提示下 ...
- 浏览器下载中文乱码问题目
浏览器下载中文乱码问题目 BASE64编码方式 base64的编解码方式 public static void main(String[] args) throws Exception {String ...
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
最近做项目,采用Spring MVC做控制层,下载文件的文件名总是在主流浏览器上显示乱码,Firfox不是乱码了,IE下又成了乱码.也是烦,IE总是独树一帜,没办法,只能让程序去适应,在网上也搜索了很 ...
- python-django解决浏览器中文文件名乱码下载不出来文件的问题
一.下载文件 1. 设置浏览器需要的content-type 下面是python的content-type对照字典: Content_Type = {'.*': 'application/octet- ...
- 解决Edge浏览器下载文件乱码
用到的技术栈是Ext,通过访问后台给接口加字符串拼接下载文件,发现Edge浏览器的文件名乱码,如: 出现该情况是因为浏览器在访问链接的时候将我们的字段自动转码了,解决办法奉上: URL = 'file ...
- 解决浏览器下载文件 中文名字乱码解决
浏览器能正确识别的编码格式,只要按照这样的编码来设置对应的Content-Disposition,那么应该就不会出现中文文件名的乱码问题了. 首先,文件名作为参数保存Content-Dispositi ...
最新文章
- fabric 启动peer_编写 Fabric 链码的一般准则
- matlab微分方程组边值,matlab求解常微分方程边值问题的方法
- ff14服务器维护怎么办,《FF14》8月20日维护到几点 最终幻想14服务器迁移维护公告...
- Java并发编程(9):死锁(含代码)
- nginx学习之location块
- 机器学习(十八)——关联规则挖掘
- Office - 安装程序找不到office.zh-cn\*.文件
- linux有哪些实时同步工具,rsync文件同步工具常见模式有哪些?linux系统
- Qt工作笔记-QMainWindow自定义窗体中利用状态栏进行窗体放缩
- 开启灯光就是近光吗_科目三考前必看!夜间灯光语音模拟+超全项目操作
- “持续亏钱”的NIO Power反而让蔚来更具竞争优势
- sring-list-del-string-int:解析左右编码器的,和#号
- 图像块的访问(填充 padding,步长 stride,窗 Window/kernel/filter)
- 数据库连接报错2013-lost connection to mysql server at ‘reading initial communication packet’ system error:0
- 天翼网关安装php,AC双频光猫拆机:天翼网关2.0-HS8145v和移动智能光猫HS8546v
- Mybatis Plus分页Page total始终为0
- 我欲封神——JAVA封神之路
- html字体设置font-family
- JavaScript中的常用浏览器对象
- keytool生成keystore、truststore、证书
热门文章
- 中兴网络设备交换机路由器查看MC-LAG状态检查命令方法
- mars java创业_Mars-java
- JS格式化输出常用格式
- 解决 required a bean of type ‘com.aliyun.oss.OSSClient‘ that could not be found
- 3DMark03 测试显卡
- 忘记保护密码情况下卸载瑞星杀毒软件
- 2020年,51Talk求一个盈利的机会
- Android车载导航的一些困境
- 以前的windows安装文件可以删除吗_你知道C盘哪些文件是可以删除吗?
- 时空跳跃者的魔法(codevs3315)