![](/img/trans.png)
[英]selenium not detecting a link in firefox but same test runs fine in internet explorer
[英]Firefox and Chrome appending underscore before and after file name while Internet Explorer is working fine
Firefox 和 Chrome 在文件名前后附加下划線,而 Inte.net 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\");
我通過從文件名值中刪除引號(在我的情況下不需要)解決了類似的問題。
我注意到rfc6266說文件名值的帶引號的字符串應該是可以接受的。 在這一點上,我還沒有進一步調查。
由於 user650881 的回復,我剛剛遇到了同樣的問題並解決了它。
問題是我有這個:
response.addHeader("Content-Disposition","attachment; filename=" + filename + "\"");
當我把它改成這樣時就工作了:
response.addHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
注意 filename= 后面的 \\""
希望能幫助到你
當存在對文件名無效的字符時會發生這種情況。
C# 的Path.GetInvalidFileNameChars 方法列出最多。
圓括號、花括號和方括號在文件名中可能是合法的(在 Windows 上),但帶有它們的文件也會得到瀏覽器添加的下划線。
我遇到了同樣的問題,我認為user650881的答案是解決方案,但在我的情況下,問題是我錯誤地解析了Content-Disposition
中的文件名,也就是說我保留了最后一個引號"
char from attachment; filename="filename.ext"
文件名 ( filename.ext"
) 中的attachment; filename="filename.ext"
字符串在下載文件時自動轉換為_
,如下所示:
const link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
// Contains 'filename.ext"' string which is replaced by 'filename.ext_`
link.download = fileName;
document.body.appendChild(link);
link.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.