下载文件的名称错误,其中包含挪威字母,如åøæ

时间:2012-05-23 12:00:33

标签: c# asp.net-mvc encoding filenames

我有一个控制器

    [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(" ", "_"));
}

0 个答案:

没有答案