NET Core中如何在app.UseStaticFiles中使用多个文件夹?

时间:2019-05-02 15:44:26

标签: c# asp.net-core directory

我想从我的Web API访问多个文件夹位置以显示图像。 我无法更改文件夹位置(取决于我无权修改任何内容的设备)。

对于我做过的其中一个文件夹:

string FolderToListen = Configuration["xxx:yyy"];

app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(FolderToListen),
});

现在我想做:

string FolderToListen2= Configuration["xxx2:yyy2"];
app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(FolderToListen),
    FileProvider = new PhysicalFileProvider(FolderToListen2),
});

但是它不起作用。 有什么办法可以将多个文件夹传递给UseStaticFiles?

2 个答案:

答案 0 :(得分:4)

您可以注册UseStaticFolder两次:

app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(FolderToListen),
});

app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(FolderToListen2),
});

答案 1 :(得分:0)

这个答案是很好的,本地主机,但是当我将.NET Core 3.1应用程序推入Azure Web Apps时,对我来说完全是500。

环顾网络,似乎不允许重复的条目……尽管这似乎更像启动服务中的

我想我也喜欢这样的解决方案,

app.UseStaticFiles(new StaticFileOptions()
{
    FileProvider = new PhysicalFileProvider(FolderToListen),
    FileProvider = new PhysicalFileProvider(FolderToListen2),
});

当然不可能,但是重复的条目似乎根本不起作用。