返回一个文件

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