返回一個檔案
ActionResult
可以通過根據副檔名定義指定檔案路徑和檔案型別來返回 FileContentResult
,稱為 MIME 型別。
MIME 型別可以使用 GetMimeMapping
方法根據檔案型別自動設定,或者以適當的格式手動定義,例如“text / plain”。
由於 FileContentResult
需要將一個位元組陣列作為檔案流返回,因此 System.IO.File.ReadAllBytes
可用於在傳送請求的檔案之前將檔案內容作為位元組陣列讀取。
public class FileController : Controller
{
public ActionResult DownloadFile(String fileName)
{
String file = Server.MapPath("~/ParentDir/ChildDir" + fileName);
String mimeType = MimeMapping.GetMimeMapping(path);
byte[] stream = System.IO.File.ReadAllBytes(file);
return File(stream, mimeType);
}
}