.net core实现文件下载,找不到文件的问题
场景:
后端返回前端文件在服务器的相对路径,比如:https://127.0.0.1:1984/Logs/2020-11-15.txt;前端用这个url去服务器上下载。但是会出现”文件不存在“的问题,相对路径也正确。
解决:
.net 5.0中,在StartUp.cs文件中添加以下代码:
var staticfile = new StaticFileOptions { FileProvider = new PhysicalFileProvider(AppContext.BaseDirectory) }; app.UseStaticFiles(staticfile);
这样子可以把程序所在的目录作为请求的物理地址。
StaticFileOptions主要就是把http请求的地址,转换为实际的物理地址。
参考:
https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.aspnetcore.builder.staticfileoptions?view=aspnetcore-6.0