.NET Core中的File和PhysicalFile
2024-10-16
17
最近在把.NET Framework的项目转成.NET Core,中间遇到不少坑,原来一个下载文件的地方突然又报了FileNotFoundException: Could not find file异常。查看源代码发现是Controller里原来的return File()这个方法在Core里跟之前是不一样了。
原来代码里导出Excel的时候是这样写的:
var fileName = System.IO.Path.GetTempFileName() + ".xlsx";
//略去将数据写入文件部分代码
return this.File(fileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "导出数据.xlsx");
看了这个File方法的签名:
public virtual VirtualFileResult File(string virtualPath, string contentType, string fileDownloadName);
在.NET Core里,第一个参数改为virtualPath是虚拟路径了,而现在文件是保存在临时文件夹里的,那要如何解决呢?
原来.NET Core提供了PhysicalFile这个方法,改成下面这样就可以了:
return this.File(PhysicalFile, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "导出数据.xlsx");
更新于:2天前赞一波!
相关文章
- ASP.NET Core 2.1中的ActionResult<T>
- .NET Core 3.0创建一个单独的可执行文件
- 在ASP.NET Core 2.1中使用HttpClientFactory的3种方法
- .NET Core MVC应用程序创建教程
- .NET Core 读取配置文件方法
- .NET Core 管道模型中间件及管道模拟实现
- ASP.NET Core多环境配置
- .NET Core 日志配置,NLog配置示例
- ASP.NET Core主机和应用启动流程
- .NET Core SkiaSharp替代System.Drawing的用法
- .NET Core 3.X路由中间件和终结点中间件
- .Net报错Could not find a part of the path bin\roslyn\csc.exe
- IIS中.NET Core报错HTTP Error 500.31 - ANCM Failed to Find Native Dependencies
- .NET Core分部视图PartialView用法
- .NET Core 视图组件Component用法
- ASP.NET Core的三种部署方式
- .NET Core中使用System.Drawing处理图像
- .NET Core Razor Page ajax请求返回400 Bad request
- .NET Core上传文件报Access xxx.tmp is denied错误
- ASP.NET Core 使用Razor code blocks替代@helper
文章评论
评论问答