从服务器下载时,使用MVC FileResult的HTML文件下载看起来不同

时间:2015-02-20 11:46:51

标签: asp.net-mvc asp.net-mvc-3

我编写了一些返回Html文件FileResult的Asp.Net MVC代码。

 var stream = new MemoryStream();
 var writer = new StreamWriter(stream);
 writer.Write(htmlReport);
 writer.Flush();
 stream.Position = 0;

 return File(stream, "text/html", fileName);

使用我的本地环境,HTML文件在打开时看起来很好,但在部署到服务器并下载相同文件后,可以看到一些不需要的字符。服务器环境的差异如何影响下载到用户PC的文件?

1 个答案:

答案 0 :(得分:0)

您需要指定文件编码。您最有可能使用UTF8,但也可以使用其他格式。

var writer = new StreamWriter(stream, System.Text.Encoding.UTF8);

为什么要使用StreamWriter

return Content(htmlReport, "text/html", System.Text.Encoding.UTF8);

或者,如果您想使用File作为返回结果,请尝试:

byte[] bArray = System.Text.Encoding.UTF8.GetBytes(htmlReport);
return File(bArray, "text/html", fileName);