.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

posted @ 2021-12-16 18:08  陈子白  阅读(506)  评论(0编辑  收藏  举报