我正在开发 ASP.NET Core Web 应用程序,并且具有用户个人资料上传和显示功能。我将文件保存在
wwwroot
文件夹之外的另一个文件夹中。我已添加将外部文件夹作为静态文件选项包含在 programs.cs
中,但我仍然无法显示图像。
这是我的代码:
program.cs
:
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider("S:\\FileRepo")
});
app.UseStaticFiles();
模型中的ImagePath
:
S:\FileRepo\Upload\dc41a1b0-28ee-4910-8010-f728c09c2c78_profilePhoto.jpg
我在视图页面中使用了
<img>
标签来显示图像
<img src="S:\FileRepo\Upload\dc41a1b0-28ee-4910-8010-f728c09c2c78_profilePhoto.jpg" alt="Profile Photo">
应用程序无法加载图像,我收到此错误:
不允许加载本地资源:file:///S:/FileRepo/Upload/dc41a1b0-28ee-4910-8010-f728c09c2c78_profilePhoto.jpg
你能帮我弄清楚我缺少什么吗?
我尝试使用静态文件选项。但它仍然抛出该错误。是否可以建议任何其他方法或纠正上述逻辑?
如果不配置
RequestPath
,客户端请求静态文件时会直接使用文件的相对路径。您可以直接使用 <img src="/Your image.png" alt="Profile Photo">
,也可以使用 RequestPath
配置静态文件的请求路径。
以下是您可以参考的示例:
这是我存储外部图像的路径:
程序.cs:
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(@"C:\FileRepo\Upload"),
});
页码:
<img src="/IMAGE2.png" alt="Profile Photo">
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(@"C:\FileRepo\Upload"),
RequestPath = new PathString("/MyPath")
});
页码:
<img src="/MyPath/IMAGE2.png" alt="Profile Photo">