如何从服务器位置使用 .NET Core 中的静态内容?

How to use static content in .NET Core from server location?

在我的 .NET Core 网络应用程序中,我想上传 PDF 文件并稍后显示它们。我想将这些文件存储在 Windows 2016 服务器上项目文件夹之外的文件夹中(例如 C:\files)。

起初我想,我可以在 IIS 服务器上使用指向 C:\files 的虚拟目录,但在 .NET Core 中似乎不再可能了。

根据此博客 post (https://www.jauernig-it.de/asp-net-coreiis-serving-content-from-a-file-share/ ),应该改用 UseFileServer()。是否可以使用项目外的文件夹配置 UseFileServer?

这是我试过的:

在我的Startup.cs

app.UseFileServer(new FileServerOptions
        {
            FileProvider = new 
PhysicalFileProvider(@"\servername\C:\folder"),
            RequestPath = new PathString("/Uploads"),
            EnableDirectoryBrowsing = false
        });

为了测试,我在文件夹中存储了一张图片,然后尝试:

<img src="/Uploads/image.jpg" />

很遗憾,图像未显示。 我错过了什么吗?

您的代码中的问题是,\servername\C:\folder 期望共享驱动器 C: 上有一个名为 folder 的目录,该目录位于名称为 [=13] 的远程服务器上=].

但在您的情况下,该文件夹与 IIS 在同一台计算机上。所以我只会 C:\folder.