Intestazione HTTP non funzionante? I browser non ' aprono il nostro pdf, ma aprono tutti gli altri pdf [closed]
Su Novembre 30, 2020 da adminCommenti
- Potresti voler aggiungere le intestazioni inviate. Questa è solo supposizione. Inoltre, questo appartiene a stackoverflow.com, non qui 🙂
- ' non lo migra a StackOverflow, sembra appropriato qui. Non è ' t necessariamente una domanda di codifica, ma è certamente una domanda del webmaster.
- Penso che tu non ' Non è necessario convertire nel tuo inputStream in charset = UTF-8 " per PDF
- I ' m voto per chiudere questa domanda come fuori tema perché era a causa di una configurazione errata del server.
- Sembra fuori tema perché ci richiede di indovinare cosa potrebbe essere sbagliato. Non cè ' nulla di tangibile con cui lavorare.
Risposta
Vedi Come forzare lapertura dei file nel browser anziché il download (pdf)? che ha una risposta da ColinM che ti dice esattamente quali dovrebbero essere le intestazioni:
Per indicare al browser che il file deve essere visualizzato nel browser :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
Per scaricare il file anziché visualizzarlo:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
MODIFICA: Le virgolette intorno al nome del file sono obbligatorie se il nome del file contiene caratteri speciali come
filename[1].pdf
che altrimenti potrebbero interrompere la capacità del browser di gestire la risposta.
Commenti
- Grazie per questa bellissima risposta. Tuttavia, devo accettare la mia più speciale, perché quella ha risolto il mio problema.
Answe r
La soluzione era piuttosto speciale.
Il server aveva il tipo mime predefinito application/octet-stream
per File PDF. Dopo averlo modificato in application/pdf
tutto ha funzionato bene.
Nella configurazione lighttpd ho ottenuto la modifica aggiungendo questa definizione:
mimetype.assign += ( ".pdf" => "application/pdf" )
Lascia un commento