java文件下载文件名中文乱码(极有可能是你使用了swagger)
一般有两种解决办法:
1、给文件名encode:response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
2、还是上面设置header中,filename处理:fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1")。
但是,我碰到的问题以上都无法解决。
是因为我使用了swagger2,如果实在swagger2的页面上进行文件下载的话,无论上面如何设置最终下载到的文件名都会乱码。换postman或者直接在URL上下载文件即解决。
这个问题应该是swagger2的逻辑处理没有处理好导致的。
浙公网安备 33010602011771号