Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 14464|Risposta: 1

Intestazione risposta http Content-disposition

[Copiato link]
Pubblicato su 14/10/2016 09:11:43 | | |
La disposizione dei contenuti è un'estensione del protocollo MIME, che istruisce l'agente utente MIME a visualizzare i file allegati. Quando Internet Explorer riceve l'intestazione elettorale, attiva la finestra di dialogo per il download del file e la casella del nome file viene automaticamente popolata con il nome specificato nell'intestazione. (Si noti che ciò è causato dal design; Non puoi usare questa funzione per salvare un documento sul computer di un utente senza chiedere dove salvarlo. )  

        Quando il server invia un file al browser client, se è un tipo di file supportato dal browser, generalmente verrà aperto di default usando il browser, come txt, jpg, ecc., che verranno visualizzati direttamente nel browser; se l'utente deve essere invitato a salvare, è necessario usare Content-Disposition per elaborarlo, la chiave è aggiungere allegato:

Response.AppendHeader("Content-Disposition","allegato; filename=FileName.txt");

Nota: Questo ti chiederà di salvare o aprirlo, e anche se scegli di aprirlo, lo aprirà con il programma associato come Notepad, invece di aprire direttamente per IE.

La Content-Disposition consiste nel fornire un nome file predefinito quando l'utente vuole salvare il contenuto richiesto come file. Le definizioni specifiche sono le seguenti:

content-disposition = "content-disposition" ":"

Tipo di disposizione *( ";" disposizione-parm )

Tipo di disposizione = "attacco" | disp-extension-token

disposizione-parm = filename-parm | disp-extension-parm

Nomefile-parm = "Nome file" "= = stringa-virgolette

disp-extension-token = token

disp-extension-parm = token "=" ( token | quoted-string )

Quindi possiamo vedere esempi specifici da quanto sopra:
Cache-Control:private
Content-Disposition:attachment; filename=Index1.png
Content-Length:328462
Content-Type:image/png
Date:Fri, 14 Oct 2016 01:08:04 GMT
Server:Microsoft-IIS/8.0
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:5.2
X-Powered-By:ASP.NET

Content-Disposition: attachment; filename=“filename.xls”

       Ovviamente, il parametro del nome file può contenere informazioni sul percorso, ma User-Agnet ignorerà queste informazioni e userà solo l'ultima parte delle informazioni del percorso come nome del file. Se usi questo header nell'applicazione/flusso di ottetto di risposta, significa che non vuoi mostrare direttamente il contenuto, ma apparirà una finestra di dialogo "download file", e poi spetta a te decidere se "aprire" o "salvare".

Note:

1. Quando si utilizza Content-Disposition nel codice per assicurarsi che il browser appra la finestra di dialogo di download. response.addHeader("Content-Disposition","allegato"); Assicurati di non aver fatto nulla per disabilitare la cache del browser. Come segue:

response.setHeader("Pragma", "No-cache");  
response.setHeader("Cache-Control", "No-cache");  
response.setDateHeader("Scadenza", 0);





Precedente:Copie e scritture di file grandi in C#
Prossimo:c# Calcola il valore SHA256 del file
 Padrone di casa| Pubblicato su 13/12/2024 18:29:16 |
Java oss Alibaba Cloud impostazioni file di caricamento nome del file
https://www.itsvse.com/thread-7853-1-1.html
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com