Disposizione del contenuto: quali sono le differenze tra "inline" e "allegato"?


245

Quali sono le differenze tra

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

e

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

Non conosco le differenze, perché quando uso l'uno o l'altro ricevo sempre un prompt della finestra che mi chiede di scaricare il file per entrambi. Ho letto le specifiche, ma è all'oscuro.


1
Quando il tipo di disposizione è in linea, in genere non ha un nome file.
james.garriss,

Solo per le informazioni di chiunque: il nome del file può ancora essere impostato con inline, tuttavia non è standard. Chrome, Firefox, IE e Opera rispettano il nome file, ma Edge no (2018).
bugybunny,

qualcuno conosce una risorsa per mostrare cosa fanno i vari browser con il tipo di contenuto, simile a caniuse per css?
jmoreno,

Risposte:


291

Perché quando ne uso uno o l'altro ricevo un prompt della finestra che mi chiede di scaricare il file per entrambi.

Questo comportamento dipende dal browser e dal file che si sta tentando di pubblicare. Con inline, il browser tenterà di aprire il file all'interno del browser.

Ad esempio, se si dispone di un file PDF e Firefox / Adobe Reader, una disposizione in linea aprirà il PDF all'interno di Firefox, mentre l'allegato lo costringerà al download.

Se stai offrendo un file .ZIP, i browser non saranno in grado di visualizzarlo in linea, quindi per le disposizioni in linea e in allegato, il file verrà scaricato.


7
Solo una rapida correzione: questo comportamento a volte è diverso da un contesto mobile. Molte visualizzazioni Web delle app ignorano la disposizione degli allegati e la rendono semplicemente nel browser se sono in grado di identificare correttamente il tipo di contenuto.
mixdev,

31

Se è in linea, il browser dovrebbe tentare di renderizzarlo nella finestra del browser. Se ciò non è possibile, ricorrerà a un programma esterno che richiede all'utente.

Con l'allegato, andrà immediatamente all'utente e non tenterà di caricarlo nel browser, indipendentemente dal fatto.


10

Potrebbe anche valere la pena ricordare che inline proverà ad aprire i documenti di Office (xls, doc ecc.) Direttamente dal server, il che potrebbe portare a un prompt delle credenziali dell'utente.

vedi questo link:

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

qualcuno ha provato a consegnare un rapporto Excel da SSRS tramite ASP.Net -> l'utente è stato sempre invitato a inserire le credenziali. Dopo aver fatto clic su Annulla sul prompt, verrà aperto comunque ...

Se la disposizione del contenuto è contrassegnata come allegato, verrà automaticamente salvata nella cartella temporanea dopo aver fatto clic su Apri e quindi aperta in Excel dalla copia locale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.