ASP.NET Core portion eine Datei außerhalb des Projekt-Verzeichnis
In meinem ASP.NET Core-Projekt, das ich versuche zu dienen, eine html-Datei wie folgt:
public IActionResult Index()
{
return File("c:/path/to/index.html", "text/html");
}
Dies führt zu einem Fehler:
FileNotFoundException: Could not find file: c:/path/to/index.html
Einfügen, wird der Pfad aus der Fehlermeldung in meinem browser bin ich in der Lage, die Datei zu öffnen, also die Datei ist eindeutig.
Nur so konnte ich die Datei legt ihn in wwwroot in den Projekt-Ordner und servieren Sie es wie folgt:
public IActionResult Index()
{
return File("index.html", "text/html");
}
Habe ich bereits geändert, die Ordner, die ich dienen statische Dateien aus mit app.UseStaticFiles(options)
(was funktioniert), so dass ich dachte, die Controller verwenden, die Ordner als Standard, aber es hält suchen im wwwroot.
Wie kann ich dienen, eine Datei, die außerhalb der wwwroot, oder sogar außerhalb des Projektes, aus einem Controller?
- Siehe meine Antwort für eine ähnliche Frage hier, stackoverflow.com/questions/43256864/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie
PhysicalFileProvider
Klasse, dass ist eine Implementierung vonIFileProvider
und wird verwendet, um den Zugriff auf die eigentlichen system Dateien. Von Datei-Anbietern Abschnitt in der Dokumentation:Beispiel zum erstellen einer
PhysicalFileProvider
- Instanz und verwenden Sie es: