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

Asp.net mvc 从服务器下载时,使用MVC FileResult下载的HTML文件看起来不同,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我已经编写了一些Asp.NETMVC代码,返回一个Html文件FileResult var stream = new MemoryStream(); var writer = new StreamWriter(stream); writer.Write(htmlReport); writer.Flush(); stream.Position = 0; return File(stream, "text/html", fileName); 使用我的本地环境,HTML文件在打开时看起

我已经编写了一些Asp.NETMVC代码,返回一个Html文件FileResult

 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上的文件

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

var writer = new StreamWriter(stream, System.Text.Encoding.UTF8);
为什么要使用
StreamWriter

return Content(htmlReport, "text/html", System.Text.Encoding.UTF8);
或者,如果要使用
文件
作为返回结果,请尝试:

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

我只是在想,但它确实说UTF8是默认值。“我试试看。”吉姆补充了几个其他的选择。