我编写了一些返回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的文件?
答案 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);