今天在处理文件下载的时候,在IE下面没问题,但是火狐下面只显示文件名的的英文部分,丢失了中文部分以及文件扩展名。其实解决办法是很简单的,配置Content-disposition
时采用下面的方法。
response.setHeader("Content-disposition","attachment;filename=\"" + fileName + "\"");
温馨提示
设置response
的Content-disposition
项时,filename
的值要加上双引号,如果不加双引号,在Firefox下载文件时,如果文件名是英文+中文的组合,比如:YXLM英雄联盟.docx,这个文件在Firefox下载时,下载下来的文件名只有YXLM了。只有加了双引号后,文件名才和代码设置的文件名一致。因为这个双引号是在字符串里,所需需要加反斜杠\来进行转义。
下载测试看
年前没时间处理了