Come impostare il nome del file di risposta senza forzare “salva con nome” finestra di dialogo
-
20-09-2019 - |
Domanda
Sto tornando un flusso in qualche risposta impostando l'intestazione content-type
appropriata. Il comportamento che sto cercando è questo:
-
Se il browser è in grado di rendere il contenuto di un determinato tipo di contenuto allora dovrebbe visualizzarlo nella finestra del browser.
-
Se il browser non sa come rendere il contenuto, allora dovrebbe visualizzare il "salva con nome" finestra di dialogo in cui il nome del file dovrebbe essere quello fornito nella risposta.
Il problema è che se ho impostato l'intestazione Content-Disposition
con:
"attachment; filename =" myfile.txt ""
il browser visualizzerà sempre la "salva con nome" finestra di dialogo.
Se non metto Content-Disposition
, il nome del file utilizzato nel "Salva con nome" finestra di dialogo è quello nell'URL che non funziona nel mio caso.
Ho anche provato modificando Content-Disposition
al inline
ma il risultato è lo stesso.
Soluzione
Il modo corretto potrebbe essere:
Content-Disposition: inline; filename="myfile.txt"
Altri suggerimenti
Non sono sicuro se questo è possibile, per impostazione predefinita. A causa di problemi di sicurezza, i browser non inviare tutti i tipi di contenuto che possono gestire, ma solo alcuni Accept-Encoding
, che non aiuta molto nel vostro piano d'azione.
Forse si può chiedere il vostro utente quello che preferisce e memorizzare le informazioni nel loro profilo.