浏览器下载文件名与源不一致问题
浏览器下载文件名与源不一致问题
最近项目里碰到下载文件名与原来不一致的问题。
比如说
原来是空格的,下载后变成了加号;原来是加号的,下载后变成空格。
问题代码
void defaultDownload(String id,String wjlxType,HttpServletResponse response){/***to do.... **/String fileName = attach.getFileOriName();try {//这里URLEncoder.encode(fileName, "utf-8")编码有问题response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "utf-8"));} catch (UnsupportedEncodingException e) {log.error("URLEncoder.encode(fileName, \"utf-8\")出错...",e);ExceptionUtil.throwRuntimeException("不支持的编码格式!");return;}response.setContentType("application/octet-stream; charset=utf-8");response.setHeader("content-length", attach.getFileSize().toString());/***to do.... **/}
检查发现: java.net.URLEncoder url编码值,某些特殊字符 编码值 对应不了 目前主流浏览器 解析值。
如空格:java.net.URLEncoder编码值为【%20】;实际浏览器解析空格对应的编码值应为【+】
如加号:java.net.URLEncoder不编码,值为【+】;实际浏览器解析空格对应的编码值应为【%2B】
解决:调整URL编码的使用工具为 com.sun.jndi.toolkit.url.UrlUtil
UrlUtil.encode(fileName, "utf-8")
浏览器下载文件名与源不一致问题相关推荐
- 火狐浏览器下载文件名乱码
##火狐浏览器下载文件名乱码 response.setHeader("Content-Disposition","attachment;filename*=utf-8'z ...
- IE浏览器下载文件名乱码
解决IE浏览器下载文件名乱码额问题 //下载的文件名为fileNameString fileName = "登录登出日志统计" + DateUtils.yyyyMMddHHmmss ...
- IE浏览器下载文件名出现中文乱码问题解决
最近做的一个项目,出了个小问题,使用google浏览器下载文件正常,结果使用IE11浏览器下载文件时,发现就下载失败. 问题原因:当请求的url中含有中文时,google浏览器会自动进行URL编码,请 ...
- 论如何让一个人心态爆炸-尝试改变奥维地图浏览器下载的地图源
小学期实习需要做一个土地利用调查,在根据影像绘制好地块的面之后,将其转成kmz导入到一个奥维互动地图的app(因为据说野外用这个手机上编辑属性方便一些?),发现图斑有偏移... 有可能是给我们的影像没 ...
- 浏览器下载中文乱码问题目
浏览器下载中文乱码问题目 BASE64编码方式 base64的编解码方式 public static void main(String[] args) throws Exception {String ...
- Android之解决PC端上传http表单格式文件手机解析文件名乱码问题和PC浏览器下载文件的文件名显示乱码问题
1 问题 问题1. 手机写socket作为服务器,PC浏览器上传http表单格式文件,然后手机端解析携带中文的文件名我解析是乱码. 问题2. 手机写了socket作为服务器,PC浏览器下载文件,但是浏 ...
- ie浏览器打开aspx文件乱码_ie浏览器下载文件时文件名乱码
做一个文件下载功能时,用ie浏览器下载时文件名乱码,火狐和谷歌正常,修改后ie显示正常,修改方法如下: @RequestMapping(value = "fileDownload" ...
- 解决浏览器下载文件时中文文件名乱码的问题
解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...
- php浏览器下载文件 文件名 空格 中文 处理
php做下载文件的实现代码及文件名中乱码... 最近有人问我做下载文件的方法,对于php方法如下: <?php header("Content-Type: application/fo ...
最新文章
- 藏经阁计划发布一年,阿里知识引擎有哪些技术突破?
- SqlServer int型转varchar型 出现*号
- php方法数组注释,php中的注释、变量、数组、常量、函数应用介绍
- js轮询导致服务器瘫痪_演进:Tengine 从 Web 代理服务器 到 分布式推送服务器
- ai画面怎么调大小_怎么使用pr(adobe premiere)裁剪视频画面的大小
- java.lang.StackTraceElement类
- 感觉要火!妹子实地采访网易猪厂程序员七夕怎么过
- vue与原生app的对接交互的方法(混合开发)
- 塔设备设计手册_石油化工设备设计选用手册 塔器
- 【To Understand】程序员面试金典——番外篇之洪水
- java中的并发是什么意思_java中的并发是什么
- 抖音文案、声音、设计、视频、图片素材网站
- 密码学——培根密码和栅栏密码
- SMAA算法详解 - SMAANeighborhoodBlendingVS
- Wifi源码学习(Android5.1)之wifi开关
- 启xin宝app的token算法破解——抓包分析篇(一)
- MATLAB-样条插值运算
- python练习-给数组去重后元素的加序号
- VS2017 打包exe,msi文件
- Greenplum集群Master与Standby相互切换