Problèmes avec Obliger Télécharger un fichier PDF
-
23-10-2019 - |
Question
J'ai la fonction suivante pour forcer le téléchargement d'un fichier:
static public function download($file, $options=array()) {
$content = (isset($options['content'])) ? $options['content'] : '';
$contentType = (isset($options['contentType'])) ? $options['contentType'] : '';
header('Cache-Control: public');
header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename='.File::filename($file));
header('Content-Type: '.$contentType);
header('Content-Transfer-Encoding: binary');
if ($content!='') {
echo $content;
} else {
readfile($file);
}
}
i envoyer un fichier PDF et contentType = "application / pdf". le problème est que lorsque je tente d'ouvrir le fichier PDF téléchargé il dit: « Il y avait une erreur d'ouvrir ce document. Le fichier peut être corrompu ». Est-ce bizarre parce que je peux ouvrir le fichier d'origine et ils sont exactement les mêmes (nom de fichier, taille, etc.)
La solution
Assurez-vous qu'il n'y a pas de sortie avant que cette fonction est RAN, et pour faire bonne mesure, utilisez la construction exit
à la fin de cette fonction:)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow