Inhaltsdisposition: Was sind die Unterschiede zwischen "Inline" und "Anhang"?

245

Was sind die Unterschiede zwischen

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")

und

Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")

Ich kenne die Unterschiede nicht, denn wenn ich den einen oder anderen verwende, werde ich immer in einem Fenster aufgefordert, die Datei für beide herunterzuladen. Ich habe die Spezifikationen gelesen, aber es ist ahnungslos.

Cleiton
quelle
1
Wenn der Dispositionstyp inline ist, hat er normalerweise keinen Dateinamen.
James.garriss
Nur zur Information: Der Dateiname kann immer noch mit Inline eingestellt werden, ist jedoch kein Standard. Chrome, Firefox, IE und Opera respektieren den Dateinamen, Edge jedoch nicht (2018).
Bugybunny
Kennt jemand eine Ressource, um zu zeigen, was die verschiedenen Browser mit dem Inhaltstyp tun, ähnlich wie bei caniuse for css?
jmoreno

Antworten:

291

Denn wenn ich das eine oder andere benutze, werde ich in einem Fenster aufgefordert, die Datei für beide herunterzuladen.

Dieses Verhalten hängt vom Browser und der Datei ab, die Sie bereitstellen möchten. Mit Inline versucht der Browser, die Datei im Browser zu öffnen.

Wenn Sie beispielsweise über eine PDF-Datei und Firefox / Adobe Reader verfügen, wird die PDF-Datei durch eine Inline-Disposition in Firefox geöffnet, während der Anhang das Herunterladen erzwingt.

Wenn Sie eine .ZIP-Datei bereitstellen, können Browser diese nicht inline anzeigen. Bei Inline- und Anhangsanordnungen wird die Datei heruntergeladen.

Jimyi
quelle
7
Nur eine schnelle Korrektur: Dieses Verhalten unterscheidet sich manchmal von einem mobilen Kontext. Viele App-Webansichten ignorieren die Disposition von Anhängen und rendern sie einfach im Browser, wenn sie den Inhaltstyp korrekt identifizieren können.
Mixdev
31

Wenn es inline ist, sollte der Browser versuchen, es im Browserfenster zu rendern. Wenn dies nicht möglich ist, wird auf ein externes Programm zurückgegriffen, das den Benutzer auffordert.

Mit Anhang geht es sofort zum Benutzer und versucht nicht, es in den Browser zu laden, ob es kann oder nicht.

Cullen Walsh
quelle
10

Es kann auch erwähnenswert sein, dass inline versucht, Office-Dokumente (xls, doc usw.) direkt vom Server aus zu öffnen, was zu einer Eingabeaufforderung für Benutzeranmeldeinformationen führen kann.

siehe diesen Link:

http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server

Jemand hat versucht, einen Excel-Bericht von SSRS über ASP.Net zu liefern -> Der Benutzer wurde immer aufgefordert, die Anmeldeinformationen einzugeben. Nach dem Klicken auf Abbrechen an der Eingabeaufforderung wird es trotzdem geöffnet ...

Wenn die Inhaltsdisposition als Anhang markiert ist, wird sie nach dem Klicken auf Öffnen automatisch im temporären Ordner gespeichert und dann von der lokalen Kopie in Excel geöffnet.

pastrami01
quelle