6

wwwrootフォルダーにないフォルダー名「Images」に画像を保存しました。だから今私はそれにアクセスできないので、私の質問は、画像を含むフォルダーへのアクセスを許可する方法であり、そのフォルダーはwwwrootのサブフォルダーではありませんか? または、これらのファイルを wwwroot フォルダーに配置する必要がありますか?

4

1 に答える 1

10

はい、Asp.Net Core はそれを行う方法を提供します。wwwroot フォルダにない Images ディレクトリから画像を提供できます。実際、埋め込みリソース ファイルを含むどこからでも、またはデータベースからでも、それらを提供できます。

重要なのは、Asp.Net Core がサービス対象のファイルにアクセスする方法を認識できるように、Startup.cs ファイルFileProviderのメソッドにa を登録することです。Configure

たとえば、あなたの場合、 Images というディレクトリから画像を提供したいので、ディレクトリ階層が次のようになっているとしましょう:

wwwroot
     css
     images
     ...

 Images
     my-image.png

画像から 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")
     });
 }

静的ファイルの提供について詳しくは、https ://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files をご覧ください。

于 2017-05-11T12:31:20.617 に答える