在项目中使用需需要从sfs文件服务器上下载文件,
// 设置字符编码
response.setCharacterEncoding(result.getData().getFileCharset());
// 设置文件类型
response.setContentType("multipart/form-data");
// 设置文件头
response.setHeader(
"Content-disposition",
"attachment; filename="
+ result.getFileName()+ "."
+ result.getData().getFileExt());
当文件名称为英文名称是下载是正常的,可以当文件名称为中文是下载下来的文件都是是有扩展名。
debug 发现文件名称的值是存在的,是中文文件名称。
有效的解决方案就是:
response.setHeader(
"Content-disposition",
"attachment; filename="
+ new String(result.getData().getFileName()
.getBytes(result.getData().getFileCharset()), "ISO8859-1") + "."
+ result.getData().getFileExt());
本文介绍了一种解决从服务器下载中文文件名文件时出现乱码的方法。通过调整文件名的编码方式,确保了文件能够正确下载且文件名显示正常。
5418





