Download de fichier et bouton annuler
Posté : 16 oct. 2009, 15:08
Bonjour à tous,
depuis ce matin je galère sur un problème en apparence tout bête mais que je n'arrive pas à résoudre, d'ou un poste dans la rubrique avancée pour quelque chose qui peut paraître plus que basique au premier abord.
Je force le download d'un fichier pdf avec le code suivant (je passe sur la sécurité & co) :
Avec ou sans while, c'est la même chose.
Si quelqu'un a une solution mircale ça serait tout simplement terrible.
depuis ce matin je galère sur un problème en apparence tout bête mais que je n'arrive pas à résoudre, d'ou un poste dans la rubrique avancée pour quelque chose qui peut paraître plus que basique au premier abord.
Je force le download d'un fichier pdf avec le code suivant (je passe sur la sécurité & co) :
if ($this->_hasParam('file') && $this->getRequest()->isGet()
&& Zend_Loader::isReadable($file = urldecode($this->_getParam('file')))) {
header("Cache-Control: public");
header("Pragma: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Length: " . filesize($file));
header("Content-Disposition: attachment; filename=" . basename($file));
header("Content-Transfer-Encoding: binary");
flush();
if (false !== ($fp = @fopen($file, 'r'))) {
while (!feof($fp)) {
echo fread($fp, 8192);
flush();
}
fclose($fp);
}
}
Aucun problème, le download se passe très bien. Par contre, si je clique sur le bouton "Annuler" de mon navigateur et que je change de page, plus moyen, syndrôme de la page blanche. La seule façon de ne pas avoir à attendre une plombe pour ré-accéder au site est de supprimer les cookies.Avec ou sans while, c'est la même chose.
Si quelqu'un a une solution mircale ça serait tout simplement terrible.