safari - 解决safari下载中文文件名乱码

主要就是在响应头设置content-disposition,主要遵循 RFC 5987标准。

关键点就是这个设置 attachment;filename*=UTF-8'' 

"filename" 和 "filename*" 两个参数的区别请参考:Content-Disposition

简述如下:

最终设置如下:

response.setHeader("content-disposition","attachment;filename*=UTF-8''" + URLEncoder.encode(fileName,"UTF-8"));

代码设置如下:

String originalFileName = URLEncoder.encode("文件名", "utf-8");
response.reset();
response.setHeader("content-disposition", "attachment;filename*=utf-8''" + originalFileName );
response.setContentType("application/octet-stream; charset=utf-8");

猜你喜欢

转载自blog.csdn.net/qq_34272760/article/details/116533807