在我的应用程序中,我正在上传一个文件名中包含瑞典字符的文件。它工作正常。 但是当我尝试下载它时,我收到一个错误:“在邮件标题中找到了一个无效的字符”..你能帮忙解决这个问题吗? 请参阅我的代码
public ActionResult Download(Guid id)
{
var attachment = AttachmentService.GetAttachmentById(id);
var cd = new ContentDisposition
{
FileName = Utility.GetCleanedFileName(((FileAttachment)attachment).FileName),
Inline = false,
};
var file = File("\\App_Data" +((FileAttachment)attachment).FilePath, "Application");
Response.ClearHeaders();
Response.Clear();
Response.ContentType = file.ContentType;
Response.AppendHeader("Content-Disposition", cd.ToString());
var filePath = "\\App_Data" + ((FileAttachment) attachment).FilePath;
Response.WriteFile(filePath);
Response.End();
return file;
}
答案 0 :(得分:1)
请尝试使用HttpUtility.UrlPathEncode
对文件名进行编码。
http://msdn.microsoft.com/en-us/library/system.web.httputility.urlpathencode.aspx