是否可以存储wwwroot文件夹以外的图像

Ahm*_*mad 6 image asp.net-core-mvc wwwroot iformfile

我存储了图像文件夹名称"图像",它不在wwwroot文件夹中.所以现在我无法访问它所以我的问题是如何授予访问包含图像和文件夹的文件夹不是wwwroot的子文件夹?或者它必须将这些文件放在wwwroot文件夹中?

Ron*_*n C 7

是的,Asp.Net Core提供了一种方法.您可以从不在wwwroot文件夹中的Images目录中提供图像.事实上,您可以从任何地方为它们提供服务,包括嵌入资源文件甚至数据库.

关键是在Startup.cs文件FileProviderConfigure方法中注册a ,以便Asp.Net Core知道如何访问要提供的文件.

例如,在您的情况下,因为您想要从名为Images的目录中提供图像,所以假设您的目录层次结构如下所示:

wwwroot
     css
     images
     ...

 Images
     my-image.png
Run Code Online (Sandbox Code Playgroud)

要从Images中提供my-image.png,您可以使用以下代码:

 public void Configure(IApplicationBuilder app){
     app.UseStaticFiles(); // For the wwwroot folder

     app.UseStaticFiles(new StaticFileOptions(){
     FileProvider = new PhysicalFileProvider(
         Path.Combine(Directory.GetCurrentDirectory(), @"Images")),
         RequestPath = new PathString("/Images")
     });
 }
Run Code Online (Sandbox Code Playgroud)

您可以在此处了解有关提供静态文件的更多信息:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files