Ich habe ein MVC-Projekt, das einige Dokumente für Benutzer anzeigen wird. Die Dateien werden derzeit im Azure-Blobspeicher gespeichert.Lassen Sie eine Datei im Browser öffnen, anstatt sie herunterzuladen
Derzeit werden die Dokumente aus der folgenden Controller-Aktion abgerufen:
[GET("{zipCode}/{loanNumber}/{classification}/{fileName}")]
public ActionResult GetDocument(string zipCode, string loanNumber, string classification, string fileName)
{
// get byte array from blob storage
byte[] doc = _docService.GetDocument(zipCode, loanNumber, classification, fileName);
string mimeType = "application/octet-stream";
return File(doc, mimeType, fileName);
}
Gerade jetzt, wenn ein Benutzer auf einen Link wie folgt klickt:
<a target="_blank" href="http://...controller//GetDocument?zipCode=84016&loanNumber=12345678classification=document&fileName=importantfile.pdf
Dann werden die Datei-Downloads zu den Download-Ordner ihres Browsers. Was ich gerne machen würde (und ich dachte, das war das Standardverhalten) ist, dass die Datei einfach im Browser angezeigt wird.
Ich habe versucht, den Mimetype zu ändern und den Rückgabetyp zu FileResult statt ActionResult zu ändern, beide vergebens.
Wie kann ich die Datei im Browser anzeigen, anstatt sie herunterzuladen?
Ziemlich sicher, entscheidet der Browser, wie die Datei auf dem mime Basis zu behandeln. http://www.webmaster-toolkit.com/mime-types.shtml – Tommy
Das ist, was ich auch vermutete, also versuchte ich verschiedene mimetypes, die mit .pdfs verbunden sind und versuchte, die Datei zu öffnen, aber es jedes Mal heruntergeladen. Wenn ich andere PDFs auf anderen Seiten anschaue, öffnen sie sich im Browserfenster. – Trevor
Welchen Wert hat der Content-Dispositionskopf? –