En-tête HTTP cassé? Les navigateurs nouvrent pas ' notre pdf, mais ouvrent tous les autres fichiers PDF [fermé]
On novembre 30, 2020 by adminCommentaires
- Vous souhaiterez peut-être ajouter vos en-têtes envoyés. Cest juste deviner. De plus, cela appartient à stackoverflow.com, pas ici 🙂
- Je ' ne migre pas cela vers StackOverflow, cela semble approprié ici. Ce n’est pas ' nécessairement une question de codage, mais c’est certainement une question pour les webmasters.
- Je pense que vous ne ' t besoin de convertir votre inputStream en charset = UTF-8 " pour PDF
- Je ' m vote pour fermer cette question comme hors sujet car elle était due à une mauvaise configuration du serveur.
- Cela semble être hors sujet car cela nous oblige à deviner ce qui pourrait ne pas être le bon. Il ny a ' rien de concret avec lequel nous pouvons travailler.
Réponse
Voir Comment forcer les fichiers à souvrir dans le navigateur au lieu de les télécharger (pdf)? qui a une réponse de ColinM qui vous indique exactement ce que doivent être les en-têtes:
Pour indiquer au navigateur que le fichier doit être affiché dans le navigateur :
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
Pour avoir le fichier téléchargé plutôt que vu:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
MODIFIER: Les guillemets autour du nom de fichier sont obligatoires si le nom de fichier contient des caractères spéciaux tels que
filename[1].pdf
qui pourraient autrement interrompre la capacité du navigateur à gérer la réponse.
Commentaires
- Merci pour cette très belle réponse. Cependant, je dois accepter la mienne plus spéciale, car celle-ci a résolu mon problème.
Answe r
La solution était plutôt spéciale.
Le serveur avait le type mime par défaut application/octet-stream
pour Fichiers PDF. Après avoir changé cela en application/pdf
tout a bien fonctionné.
Dans la configuration lighttpd, jai réalisé le changement en ajoutant cette définition:
mimetype.assign += ( ".pdf" => "application/pdf" )
Laisser un commentaire