.NET Core MVC基础之返回文件类型📄
前言
上一篇文章讲了基础的返回类型,这篇文章讲解如何返回文件类型给浏览器下载。
系列文章
- .NET MVC基础之页面传值方式
- 通过图片流来返回图片
返回类型介绍
在返回文件之前,要知道MIME 类型,这里介绍常用的几种:
-
text/plain
:纯文本文件 -
text/html
:HTML 文件 -
text/css
:CSS 文件 -
application/json
:JSON 数据 -
application/xml
:XML 数据 -
application/pdf
:PDF 文件 -
image/jpeg
:JPEG 图像文件 -
image/png
:PNG 图像文件 -
audio/mpeg
:MPEG 音频文件 -
video/mp4
:MP4 视频文件
代码实现
我这里这里展示返回图片类型。
返回图片
<a href="/Home/DownloadFile">FileResult返回文件</a>
返回FileStreamResult
对象:适用于文件较大并且以流的方式逐块读取文件
public IActionResult DownloadFile()
{
string filePath = Path.Combine(_webHostEnvironment.WebRootPath,"1.jpg");
string contentType = "image/jpeg";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
return new FileStreamResult(fileStream, contentType)
{
FileDownloadName = "1.jpg"
};
}
返回 FileContentResult
对象:将文件内容作为字节数组直接返回给客户端。适用于文件较小且可以完全加载到内存中的情况。
public IActionResult DownloadFile()
{
string filePath = Path.Combine(_webHostEnvironment.WebRootPath, "1.jpg");
byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
string contentType = "image/jpeg";
return new FileContentResult(fileBytes, contentType)
{
FileDownloadName = "1.jpg"
};
}
直接使用File方法
public IActionResult DownloadFile()
{
string filePath = Path.Combine(_webHostEnvironment.WebRootPath, "1.jpg");
byte[] fileBytes = System.IO.File.ReadAllBytes(filePath);
string contentType = "image/jpeg";
return File(fileBytes, contentType,"1.jpg");
}
public IActionResult DownloadFile()
{
string filePath = Path.Combine(_webHostEnvironment.WebRootPath, "1.jpg");
FileStream fileStream = new FileStream(filePath, FileMode.Open);
string contentType = "image/jpeg";
return File(fileStream, contentType,"1.jpg");
}
总的来说,返回文件可以通过返回文件流,也可以通过返回byte字节数组。
效果展示
文章来源:https://www.toymoban.com/news/detail-750536.html
总结
这里只是简单的介绍,有任何问题欢迎评论交流~文章来源地址https://www.toymoban.com/news/detail-750536.html
到了这里,关于.NET Core MVC基础之返回文件类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!