Articles
HTTP-overskrift ødelagt? Nettlesere åpner ikke ' t vår pdf, men åpner alle andre pdfs [lukket]
On november 30, 2020 by admin Stengt. Dette spørsmålet er av -tema . Det aksepteres for øyeblikket ikke svar.
Kommentarer
- Det kan være lurt å legge til de sendte overskriftene. Dette er bare å gjette. Dette hører også hjemme på stackoverflow.com, ikke her 🙂
- Jeg ' Jeg migrerer ikke dette til StackOverflow, det ser passende ut her. Det er ikke ' t nødvendigvis et kodingsspørsmål, men det er absolutt et spørsmål om webansvarlig.
- Jeg tror du ikke ' t trenger å konvertere i inputStream til charset = UTF-8 " for PDF
- I ' m voting for å lukke dette spørsmålet som utenfor emnet fordi det skyldtes feilkonfigurasjon av serveren.
- Dette ser ut til å være utenfor emnet fordi det krever at vi gjetter hva som kan være galt. Det er ' ingenting håndgripelig for oss å jobbe med.
Svar
Se Hvordan tvinge filer til å åpnes i nettleseren i stedet for nedlasting (pdf)? som har svar fra ColinM som forteller deg nøyaktig hva overskriftene skal være:
Å indikere til nettleseren at filen skal vises i nettleseren :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
For å få filen lastet ned i stedet for å se den:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
EDIT: Sitatene rundt filnavnet kreves hvis filnavnet inneholder spesialtegn som
filename[1].pdf
som ellers kan ødelegge nettleserens evne til å håndtere svaret.
Kommentarer
- Takk for dette veldig fine svaret. Imidlertid må jeg godta min egen mer spesielle, fordi den løste problemet mitt.
Answe r
Løsningen var ganske spesiell.
Serveren hadde standard mime-type application/octet-stream
for PDF-filer. Etter å ha endret dette til application/pdf
fungerte alt bra.
I lighttpd-konfigurasjonen oppnådde jeg endringen ved å legge til denne definisjonen:
mimetype.assign += ( ".pdf" => "application/pdf" )
Legg igjen en kommentar