A HTTP fejléc elromlott? A böngészők nem ' nem nyissák meg a pdf-ünket, de az összes többi pdf-t [zárt]
On november 30, 2020 by adminMegjegyzések
- Hozzáadhatja az elküldött fejléceket. Ez csak találgatás. Ez szintén a stackoverflow.com webhelyre tartozik, nem itt 🙂
- Én ' nem költöztetem át ezt a StackOverflow-ba, itt megfelelőnek tűnik. Ez nem ' nem feltétlenül kódoló kérdés, de minden bizonnyal webmester-kérdés.
- Szerintem ne ' nem kell konvertálnod az inputStream-ben charset = UTF-8 formátumba " a PDF fájlhoz
- I ' m szavazás hogy ezt a kérdést témakörön kívül zárja le, mert a szerver téves konfigurációjának köszönhető.
- Ez témán kívülinek tűnik, mert megköveteli, hogy kitaláljuk mi lehet a baj. ' nincs kézzelfogható dolgunk.
Válasz
Lásd: Hogyan kényszeríthetem a fájlokat a böngészőben történő megnyitásra letöltés (pdf) helyett? , amelyre válasza van: ColinM , amely pontosan megmondja, milyen fejlécek legyenek:
Jelzi a böngészőnek, hogy a fájlt a böngészőben kell megtekinteni :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
A fájl letöltése és megtekintése helyett:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
SZERKESZTÉS: A fájlnév körüli idézőjelekre akkor van szükség, ha a fájlnév olyan speciális karaktereket tartalmaz, mint például
filename[1].pdf
, amelyek egyébként megzavarhatják a böngésző képességét a válasz kezelésére.
Hozzászólások
- Köszönöm ezt a nagyon szép választ. Azonban el kell fogadnom a sajátom különlegesebbjét, mert az megoldódott az én problémám.
Answe r
A megoldás meglehetősen különleges volt.
A szerver alapértelmezett mime típusa application/octet-stream
volt PDF fájlok. Miután ezt megváltoztattam application/pdf
-re, minden rendben működött.
A lighttpd konfigurációjában a definíció hozzáadásával értem el a változást:
mimetype.assign += ( ".pdf" => "application/pdf" )
Vélemény, hozzászólás?