spring boot 下载文件时,文件乱码问题

老问题了,其实有很多解决方法,今在此记录一下,文件名乱码时的正解:(前提:项目采用的时UTF-8编码)

正解方法:

 String fileName = attachmentName;
 response.setContentType("multipart/form-data"); 
 //response.setContentType("multipart/form-data;charset=UTF-8");也可以明确的设置一下UTF-8,测试中不设置也可以。 
 response.setHeader("Content-Disposition", "attachment; fileName="+  fileName +";filename*=utf-8''"+URLEncoder.encode(fileName,"UTF-8"));

还有一种方式:

String fileName = attachmentName;
response.setContentType("multipart/form-data"); 
response.setHeader("Content-Disposition", "attachment;fileName="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));  

第一中方式可以设置多个名称(比如支持IE6时,设置英文名称)


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值