【发布时间】:2021-01-15 20:45:24
【问题描述】:
我的 cdn 指向我的项目的不同路径
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(@"C:\inetpub\wwwroot\cdn\images"),
RequestPath = "/cdn/images"
});
有人可以帮我从控制器访问该物理路径吗?
如果我使用HostingEnvironment.WebRootPath,我会得到我的项目路径,但不是 cdn 路径
问题是如何从你的 RequestPath 中获取 FilePRvider
【问题讨论】:
-
为什么不在某个常见的可访问位置声明路径(例如:通过静态类公开为 const),以便您的
UseStaticFiles和您的控制器都使用该公共值。 -
对于基础架构解决方法,您可以创建一个符号链接以从应用程序部署路径的相对文件夹中指向实际的物理文件夹。不过,这不是一个可移植的解决方案。
-
CDN 路径是什么意思? :|为什么不把路径放在 appSettings 里面呢?
-
正如@KingKing 所说,我已经使用静态变量解决了这个问题,但我想从它的 RequestPath 中了解 FilePRvider
-
我认为您不需要像在配置代码中设置的那样获取
PhysicalFileProvider的确切实例。它就像一个独立的服务(读取文件),只要你有一个输入文件路径就应该可以正常工作。因此,如果您有一个文件路径并想读取该文件,只需使用该文件路径创建一个PhysicalFileProvider的新实例。
标签: c# asp.net asp.net-core routes