Visualizzazione di una finestra di dialogo "Download del file" per un tipo MIME noto

Dichiarazione di non responsabilità per contenuto KB ritirato

Il contenuto di questo articolo è riferito a prodotti per cui Microsoft non offre più il supporto. Questo articolo viene pertanto offerto "così com'è" e non sarà più aggiornato.

Sommario

Quando si fornisce un documento da un server Web, è consigliabile chiedere immediatamente all'utente di salvare il file direttamente sul proprio disco rigido, senza aprirlo nel browser. Tuttavia, per i tipi MIME (Multipurpose Internet Mail Extensions) noti, quali Microsoft Word ("application/ms-word"), il comportamento predefinito è quello di aprire il documento in Internet Explorer.

È tuttavia possibile ignorare il comportamento predefinito utilizzando l'intestazione Content-Disposition. Il formato di questa intestazione è il seguente:

Content-disposition: attachment; filename=fname.ext

Informazioni

Content-Disposition è un'estensione del protocollo MIME che istruisce un agente utente MIME in merito alla modalità secondo cui visualizzare un file allegato. L'intervallo di valori validi per l'intestazione Content-Disposition è affrontato nella RFC (Request for Comment) 1806 (vedere la sezione "Riferimenti" di questo articolo). Questo articolo riguarda in modo particolare l'argomento "attachment", che dice a un agente utente, in questo caso Internet Explorer, di salvare un file sul disco anziché in linea.

Quando Internet Explorer riceve l'intestazione, visualizza una finestra di dialogo Download del file nella cui casella del nome file viene inserito automaticamente il nome del file specificato nell'intestazione. (Si tratta di un comportamento legato alla progettazione del prodotto e non esiste alcun modo per utilizzare questa funzione per salvare un documento nel computer dell'utente senza chiedere all'utente di specificare un percorso in cui salvare il file).

Esistono due metodi per utilizzare Internet Explorer al fine di specificare un'intestazione Content-Disposition per un file: in modalità dinamica e in modalità statica.

Per applicare l'intestazione in modalità dinamica, creare un file ASP (Active Server Pages) che scriva il documento nel browser. Utilizzare il metodo Response.AddHeader per aggiungere l'intestazione Content-Disposition. Ad esempio:
Response.AddHeader "content-disposition","attachment; filename=fname.ext"
Istruzioni sull'esecuzione di un'operazione di scrittura binaria per documenti non di testo sono disponibili nel seguente articolo della Microsoft Knowledge Base:

193998 Lettura e visualizzazione dei dati binari in ASP

Questa tecnica è ideale quando si desidera proteggere un archivio di documenti sul server, specialmente uno esistente al di fuori della directory principale del sito Web.

Per applicare l'intestazione in modalità statica, fare clic con il pulsante destro del mouse sul documento nel Gestore del servizio Internet, quindi scegliere Proprietà. Scegliere la scheda Intestazioni HTTP e immettere l'intestazione Content-Disposition. Questa tecnica è ideale quando si desidera semplicemente applicare l'intestazione Content-Disposition ad alcuni file nel sistema e non è necessario ricorrere alla tecnologia ASP.

Questa soluzione non funziona in Internet Explorer 4.01 a causa di un bug. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

182315 FIX: L'intestazione Content-Disposition non provoca la visualizzazione della finestra per il download dei file

Riferimenti

Per ulteriori informazioni sull'intestazione Content-Disposition, vedere il documento RFC (Request for Comments) 1806, visitare il seguente sito Web IETF (informazioni in lingua inglese):Per ulteriori informazioni sullo sviluppo di soluzioni basate sul Web per Microsoft Internet Explorer, visitare i seguenti siti Web Microsoft (informazioni in lingua inglese):
Proprietà

ID articolo: 260519 - Ultima revisione: 25 dic 2006 - Revisione: 1

Feedback