MVC 使用FileStreamResult方法的下载excel和word文件问题
在项目中用到文件下载功能,用的是FileStreamResult方法:
return File(new FileStream(path, FileMode.Open), Utilities.MimeType(fileName), fileName);
下载普通文件都正常,测试时发现下载含有中文名的word和excel文件时直接返回了方法的名称,后来查了很多资料,终于找到解决办法,是文件名编码问题。
在返回FileStreamResult之前将文件名称手动编码:
fileName = HttpUtility.UrlEncode(fileName, Encoding.GetEncoding("UTF-8")); return File(new FileStream(path, FileMode.Open), Utilities.MimeType(fileName), fileName);
加上后一切正常。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。