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);


加上后一切正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM