Ich habe festgestellt, dass der folgende asp.net-Code beim Bereitstellen von Dateien aus einer Datenbank sehr nützlich ist:
Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
Auf diese Weise kann der Benutzer die Datei auf seinem Computer speichern und dann entscheiden, wie sie verwendet werden soll, anstatt dass der Browser versucht, die Datei zu verwenden.
Welche anderen Dinge können mit dem Antwortheader für die Inhaltsdisposition getan werden?
http
http-headers
httpwebresponse
httpresponse
content-disposition
Ronnie Overby
quelle
quelle
0
zu0x1F
)Antworten:
Beachten Sie, dass RFC 6266 die unten genannten RFCs ersetzt. In Abschnitt 7 werden einige der damit verbundenen Sicherheitsbedenken beschrieben.
Die Autorität für den Content-Disposition-Header ist RFC 1806 und RFC 2183. Die Leute haben auch Content-Disposition-Hacking entwickelt. Es ist wichtig zu beachten, dass der Header für die Inhaltsdisposition nicht Teil des HTTP 1.1-Standards ist.
Der HTTP 1.1-Standard ( RFC 2616 ) erwähnt auch die möglichen Sicherheitsnebenwirkungen der Inhaltsdisposition:
quelle
Nun, es scheint, dass der Content-Disposition-Header ursprünglich für E-Mails erstellt wurde, nicht für das Web. ( Link zum relevanten RFC .)
Ich vermute, dass Webbrowser darauf reagieren können
beim Speichern, aber ich bin nicht sicher.
quelle
Siehe RFC 6266 (Verwendung des Headerfelds für die Inhaltsdisposition im Hypertext Transfer Protocol (HTTP)) http://tools.ietf.org/html/rfc6266
quelle
Für asp.net-Benutzer bietet das .NET-Framework eine Klasse zum Erstellen eines Inhaltsdisposition-Headers: System.Net.Mime.ContentDisposition
Grundlegende Verwendung:
quelle
filename
Parametern durch, anstattfilename*
Parameter mit RFC 5987- Codierung zu verwenden. Es gibt keine Möglichkeit, FX-Utils abzuleiten oder zu verwenden, um dies zu beheben. Fast alles ist nicht überschreibbar oder intern. Net FX hat noch einen langen Weg vor sich, um Offenheit und Erweiterbarkeit zu erlernen. In MVC 5.2 ist dieFileResult
Klasse etwas besser fürfilename
andere Parameter, behandelt sie jedoch nicht, da derinline
größte Teil ihrer Implementierung auch intern ist ...Dieser Header ist in RFC 2183 definiert , sodass Sie am besten mit dem Lesen beginnen können.
Zulässige Werte sind diejenigen, die bei der Internet Assigned Numbers Authority (IANA) registriert sind. Ihr Wertregister sollte als endgültige Quelle angesehen werden.
quelle
Ich dachte, dieser KB-Artikel im Microsoft-Support-Abschnitt bezieht sich auf die Diskussion hier. So öffnen Sie ein Dialogfeld zum Herunterladen von Dateien für einen bekannten MIME-Typ
quelle