使用FileResult下載ASP.NETMVC中任何類型的文件?有人建議我使用FileResult允許用戶從ASP.NETMVC應用程序下載文件。但是,我能找到的唯一例子總是與圖像文件有關(指定內容類型Image/jpeg)。但如果我不知道文件類型呢?我希望用戶能夠從我的網站的文件區下載幾乎任何文件。我讀過一種這樣做的方法(參見以前的職位對于代碼),這實際上很好,除了一件事:在SaveAs對話框中出現的文件名是從帶有下劃線的文件路徑(文件夾_file.ext)連接起來的。而且,人們似乎認為我應該返回一個FileResult,而不是使用我已經找到的自定義類BinaryContentResult。有人知道用MVC進行這種下載的“正確”方式嗎?編輯:我得到了答案(下面),但我只是認為,如果其他人感興趣,我應該張貼完整的工作代碼:public ActionResult Download(string filePath, string fileName){
string fullName = Path.Combine(GetBaseDir(), filePath, fileName);
byte[] fileBytes = GetFile(fullName);
return File(
fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);}byte[] GetFile(string s){
System.IO.FileStream fs = System.IO.File.OpenRead(s);
byte[] data = new byte[fs.Length];
int br = fs.Read(data, 0, data.Length);
if (br != fs.Length)
throw new System.IO.IOException(s);
return data;}
3 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
return File(virtualFilePath, System.Net.Mime.MediaTypeNames.Application.Octet, Path.GetFileName(virtualFilePath));
- 3 回答
- 0 關注
- 1165 瀏覽
添加回答
舉報
0/150
提交
取消