[asp] Forzare il download di un documento da una pagina ASP
Quando un documento viene generato a run-time in una pagina ASP o ASP.NET per essere inviato al client, per esempio perchè viene recuperato da un database o da un’altra locazione, la proprietà ContentType dell’oggetto Response viene solitamente impostata con un valore che identifica il tipo del formato (tipo MIME). La proprietà menzionata corrisponde al parametro Content-Type dell’header della risposta HTTP.
'Documento PDF
Response.ContentType = "application/pdf"
'Archivio ZIP
Response.ContentType = "application/zip"
'Documento MS Word
Response.ContentType = "application/msword"
'Documento MS Excel
Response.ContentType = "application/vnd.ms-excel"
'Filmato ASF
Response.ContentType = "video/x-ms-asf"
'Filmato AVI
Response.ContentType = "video/avi"
'Filmato MPEG
Response.ContentType = "video/mpeg"
'Audio WAV
Response.ContentType = "audio/wav"
'Audio MP3
Response.ContentType = "audio/mpeg3"
'Immagine GIF
Response.ContentType = "image/gif"
'Immagine JPG
Response.ContentType = "image/jpeg"
'Formato binario generico
Response.ContentType = "application/octet-stream"
Quando un documento viene inviato al client, questo viene automaticamente aperto se il formato viene riconosciuto e associato ad un programma installato localmente.
Per evitare l’apertura automatica del documento, lasciando all’utente finale la scelta se aprire o salvare il file, occorre impostare anche il parametro Content-Disposition dell’header della risposta HTTP con il valore attachment, specificando inoltre il nome del file completo di estensione.
Response.AppendHeader("Content-Disposition", "attachment; filename=" & fileName)
Articolo tratto dal sito aspitalia.com