internet-explorer - Internet Explorer 中带有空格的内容处理附件文件名

标签 internet-explorer asp-classic

string filename = Server.UrlPathEncode(Path.GetFileName(_Filename)));
Response.AddHeader("Content-Disposition", "attachment; filename=\"" + encodeURIComponent(filename) + "\"");

我写了这样的代码..

它在所有浏览器中都运行良好,但在 Internet Explorer 中,当我单击“另存为”时它运行良好,但当单击“打开”时,我在文件名中得到 %20..

谁能告诉我如何解决这个问题

假设文件名为“New text Document.txt”。下载后打开文件时,我希望它具有相同的名称。我不想将其视为“New_text_Document.txt”。

有办法吗?

它在其他浏览器中对我来说工作正常。我在 Internet Explorer 中只有这个问题。如果我默认不编码,我将获得文件名为“New_text_Document.txt”的文件。

最佳答案

如果您的文件名包含空格,它们将被 URL 编码。 编码的空格字符实际上是%20,我们可以在文件名中看到。

为避免这种情况,您可以简单地将空格替换为另一个字符,例如 _

Response.AddHeader("Content-Disposition", "attachment; filename=\"" + 
   encodeURIComponent(filename.Replace(" ", "_")) + 
"\"");

关于internet-explorer - Internet Explorer 中带有空格的内容处理附件文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11152861/

相关文章:

java - Excel 尝试在 IE 中打开文件以供下载

CSS 帮助 - IE 错位

xml - 经典 ASP 循环遍历 XML 以查找并显示一个节点的详细信息

asp-classic - 经典 ASP/ session 结束重定向

sql-server - 遇到 SQL Server "Timeouts"和 "SQL Server does not exist or access denied"的经典 ASP 应用程序

database - 服务器正在生成页面时显示加载屏幕

css - Internet Explorer 10 不在内联元素上应用 flexbox

css - 这段 CSS 有什么作用?

html - 打印期间 IE10/IE11 中不显示背景颜色

javascript - 在我的 ASP CMS 中找不到此错误的原因