Content-Disposition文件名中的分号

时间:2009-09-28 15:49:48

标签: content-disposition

我在IE8中尝试下载带分号的文件名时遇到问题。

Response.AddHeader("Content-Disposition", "attachment; filename=\"" + attachment.File.FileName + "\"");

假设attachment.File.FileName =“Test; Test; Test.txt”

FF 3.5:它会提示您保存/打开名为“Test; Test; Test.txt”的文件。这是理想的结果。

IE8:它会提示您保存/打开名为“Test”的文件。

我需要弄清楚如何在IE8中获得所需的结果。

2 个答案:

答案 0 :(得分:2)

您是否使用转义序列进行了测试; (%3B)?

Response.AddHeader("Content-Disposition", "attachment; filename=\"file%3Bfile%3B.txt\"");

答案 1 :(得分:-1)

检查IE的条件并使用URLEncoder.encode。它会起作用。

例如: if (isIE) { fileName = URLEncoder.encode(fileName, "UTF-8"); }