Bonjour,
Je développe actuellement un site personnel. J'y force le téléchargement d'un fichier PDF via le code suivant:
Le fichier est bien téléchargé, mais impossible de l'ouvrir par la suite, Adobe Reader affichant le message suivant:
Adobe Reader n'a pas pu ouvrir machin.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il a été envoyé en tant que pièce jointe et n'a pas été décodé correctement, par exemple).
Quelques précisions:
- le fichier téléchargé pèse ce qu'il faut (212Ko, comme l'original),
- ce n'est pas une histoire de mise à jour d'Adobe Reader puisque je possède l'original du PDF en question sur mon PC et qu'il s'ouvre sans souci,
- j'ai tenté de cacher la ligne Content-transfer-encoding, de changer Content-type en force-download, mais ça ne change rien.
Auriez-vous s'il vous plaît une idée lumineuse pour résoudre ce problème (avec l'explication qui va avec, j'aime bien comprendre les choses
) ? Je suppose que c'est lié à la ligne d'encoding, mais bon...
Merci d'avance
Modifié par Toum (01 Mar 2013 - 12:22)
Je développe actuellement un site personnel. J'y force le téléchargement d'un fichier PDF via le code suivant:
{
header('Content-Description: File Transfer');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=' . basename($chemin));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length:' . filesize($chemin));
readfile($chemin);
exit;
}
Le fichier est bien téléchargé, mais impossible de l'ouvrir par la suite, Adobe Reader affichant le message suivant:
Adobe Reader n'a pas pu ouvrir machin.pdf, car le type de fichier n'est pas pris en charge ou le fichier est endommagé (il a été envoyé en tant que pièce jointe et n'a pas été décodé correctement, par exemple).
Quelques précisions:
- le fichier téléchargé pèse ce qu'il faut (212Ko, comme l'original),
- ce n'est pas une histoire de mise à jour d'Adobe Reader puisque je possède l'original du PDF en question sur mon PC et qu'il s'ouvre sans souci,
- j'ai tenté de cacher la ligne Content-transfer-encoding, de changer Content-type en force-download, mais ça ne change rien.
Auriez-vous s'il vous plaît une idée lumineuse pour résoudre ce problème (avec l'explication qui va avec, j'aime bien comprendre les choses

Merci d'avance

Modifié par Toum (01 Mar 2013 - 12:22)