2017-05-10 24 views
1

画像はフォルダ名「画像」はwwwrootフォルダにありません。 今私はそれにアクセスできないので、私の質問は イメージとthatsフォルダを含むフォルダへのアクセス権を与える方法はwwwrootのサブフォルダではありませんか?または、これらのファイルをwwwrootフォルダに入れることは強制的ですか?wwwroot以外の画像を保存することはできますか?

答えて

1

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

重要な点は、Startup.csファイルのConfigureメソッドにFileProviderを登録して、Asp.Net Coreが提供するファイルにアクセスする方法を知っていることです。

あなたがイメージというディレクトリから画像を提供したいので、したがって、たとえば、あなたのケースでは、のは、あなたのディレクトリ階層は次のようになりましょう:

wwwroot 
    css 
    images 
    ... 

Images 
    my-image.png 

イメージからあなたを私の-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

関連する問題