2017-05-10 4 views
1

zu speichern Ich speicherte Bilder in einem Ordnernamen "Bilder", die nicht in wwwroot Ordner ist. So jetzt kann ich nicht darauf zugreifen, so ist meine Frage, dass Wie Zugriff auf Ordner geben, die Bilder enthalten und das ist Ordner ist nicht der Unterordner von wwwroot? Oder Es ist zwingend erforderlich, diese Dateien in wwwroot Ordner zu legen?Ist es möglich, andere Bilder als wwwroot Ordner

Antwort

1

Yep Asp.Net Core bietet eine Möglichkeit, das zu tun. Sie können Bilder aus einem Bilderverzeichnis bereitstellen, das sich nicht im Ordner wwwroot befindet. Tatsächlich können Sie sie von überall aus bedienen, einschließlich der Einbettung von Ressourcendateien oder sogar aus einer Datenbank.

Der Schlüssel ist, ein FileProvider in der Methode der Startup.cs-Datei zu registrieren, so dass Asp.Net Core weiß, wie auf die Datei zuzugreifen, die bedient werden soll.

So zum Beispiel, in Ihrem Fall, da Sie Bilder aus einem Verzeichnis dienen Bilder genannt, lassen Sie sich sagen, dass Ihre Verzeichnishierarchie wie folgt aussieht:

wwwroot 
    css 
    images 
    ... 

Images 
    my-image.png 

Um my-image.png von Bildern zu dienen bis Sie verwenden könnte den folgenden Code:

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") 
    }); 
} 

Sie können erfahren Sie mehr über statische Dateien dienen hier: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files

Verwandte Themen