我有一个控制器
[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»
如果文件名不包含挪威语字母,它也适用于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(" ", "_"));
}