Articles
HTTP-header brudt? Browsere åbner ikke ' t vores pdf, men åbner alle andre pdfs [lukket]
On november 30, 2020 by admin Lukket. Dette spørgsmål er fra -emne . Det accepteres i øjeblikket ikke svar.
Kommentarer
- Du vil måske tilføje dine sendte overskrifter. Dette er bare gætte. Dette hører også hjemme på stackoverflow.com, ikke her 🙂
- Jeg ' Jeg migrerer ikke dette til StackOverflow, det ser passende ud her. Det er ikke ' t nødvendigvis et kodningsspørgsmål, men det er bestemt et webmesterspørgsmål.
- Jeg tror, du ikke ' behøver ikke at konvertere i din inputStream til charset = UTF-8 " til PDF
- I ' m-afstemning at lukke dette spørgsmål som ikke-emne, fordi det skyldtes forkert konfiguration af serveren.
- Dette ser ud til at være uden for emnet, fordi det kræver, at vi gætter hvad der kan være galt. Der er ' intet håndgribeligt for os at arbejde med.
Svar
Se Hvordan tvinges filer til at åbnes i browseren i stedet for at downloade (pdf)? , som har et svar fra ColinM , der fortæller dig nøjagtigt, hvad overskrifterne skal være:
For at angive over for browseren, at filen skal vises i browseren :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
For at få filen downloadet i stedet for vist:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
EDIT: Citaterne omkring filnavnet kræves, hvis filnavnet indeholder specialtegn såsom
filename[1].pdf
, som ellers kan bryde browserens evne til at håndtere svaret.
Kommentarer
- Tak for dette meget pæne svar. Jeg er dog nødt til at acceptere min egen mere specielle, fordi den ene løste mit problem.
Answe r
Løsningen var ret speciel.
Serveren havde standard-mime-typen application/octet-stream
for PDF-filer. Efter at have ændret dette til application/pdf
fungerede alt fint.
I lighttpd-konfigurationen opnåede jeg ændringen ved at tilføje denne definition:
mimetype.assign += ( ".pdf" => "application/pdf" )
Skriv et svar