最近开发发现下载文件时,返回前端名字中空格变成了+ ,查询发现URLEncoder.encode的问题(
fileName= URLEncoder.encode(fileName, "UTF-8");),以前用的时候也没注意过,网上很多办法都是吧加号替换为%20, 但是考虑到文件名本身就带加号的情况,在前端又需要转换,很是麻烦。
所以用以下的方法就可以不用那么复杂
fileName= new String(fileName.getBytes("gbk"), "iso8859-1");httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + allname);