Firefox和Chrome在文件名前后附加下划线,而Internet Explorer工作正常。
Firefox和Chrome提供:_Warrant_Amendment_5485_14_March_2014.pdf.pdf_
IE给出:Warrant_Amendment_5485_14_March_2014.pdf.pdf
下面是代码
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline;filename=\" + fileName + ".pdf\");
4条答案
按热度按时间mzaanser1#
我通过删除文件名值中的引号(在我的例子中不需要)解决了类似的问题。
我注意到rfc6266说文件名值的引号字符串应该是可以接受的,在这一点上我没有进一步研究。
laik7k3q2#
我刚刚也遇到过同样的问题,多亏了user650881的回复才解决了。
问题是我有这个:
当我把它改成这样的时候,它就工作了:
注意文件名=后的"”
希望能有所帮助
yptwkmov3#
当存在对文件名无效的字符时,会发生这种情况。
C#的Path.GetInvalidFileNameChars method列出的最多。
圆括号、花括号和方括号在文件名中可能是法律的的(在Windows上是合法的),但是带有它们的文件也会得到浏览器添加的下划线。
jchrr9hc4#
我遇到了同样的问题,我认为user650881的答案是解决方案,但在我的情况下,问题是我从
Content-Disposition
错误地解析文件名,也就是说,我保留了文件名(filename.ext"
)中attachment; filename="filename.ext"
字符串的最后一个引号"
字符,当下载文件时,该字符串自动转换为_
,如下所示: