我有一个控制器
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult ExportToWord(string docId)
{
.... create document in the stream ...
return File(stream, "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "test-ø-æ-å.docx");
}
Firefox、Chrome 和 IE9 返回正确的文件名 «test-ø-æ-å.docx»
IE7、IE8 返回 «ExportToWord.docx»
如果文件名不包含挪威字母 så 它也适用于 IE7-8。
如何解决这个问题?谢谢!
我的解决方案:
if (Request.Browser.Browser == "IE" && (Request.Browser.Version == "7.0" || Request.Browser.Version == "8.0"))
{
fileName = Uri.EscapeDataString(fileName).Replace("%20", " ");
or
fileName = Uri.EscapeDataString(fileName.Replace(" ", "_"));
}