返回一个文件
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);
}
}