具有特定文件名和Safari或Chrome的ASP.NET MVC FileResult
问题描述:
我遇到了FileResult返回具有特定文件名的文件的问题。在数据库中的文件名是公正和ID +分机(例如:456789.mp3)具有特定文件名和Safari或Chrome的ASP.NET MVC FileResult
这段代码
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
return File(fs, "application/octet-stream", "myfile.mp3");
工作的不同之处的Webkit浏览器(浏览器,Safari浏览器)每一个浏览器好。 Chrome和Safari接收文件为原始文件名(456789.mp3)。当我添加页眉与
Response.AppendHeader("Content-Disposition", "attachment;filename=myfile.mp3");
Safari浏览器接收文件myfile.mp3attach(通知“附加”附加到扩展?),但Chrome的接收此文件作为myfile.mp3,附加(其附加“附加”到延期)
有没有人遇到过这种问题?
感谢
答
它帮助我:
var encoding = System.Text.Encoding.UTF8;
Response.Charset = encoding.WebName;
Response.HeaderEncoding = encoding;
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", (Request.Browser.Browser == "IE") ? HttpUtility.UrlEncode(fileName, encoding) : fileName));
return File(fs, contentType, fileName);
答
把
Response.Clear();
Response.ClearHeaders();
之前
Response.Charset = encoding.WebName;
解决这对我来说
谢谢,它帮助我! – 2012-03-15 22:50:01