Bonjour,
Je suis en train de développer un site ou il y a de gros fichiers à télécharger. J'ai un problème a niveau du téléchargement. Si un user télécharge un fichier pendant 10 minutes, le site n'est plus accessible pendant cette période et les autres utilisateurs auront un time out...
Voici mon code :
public function download(string $webDirectory)
{
$path = $webDirectory. "/public/Software/ubuntu.iso";
$ret = new StreamedResponse();
$ret->setCallback (function () use($path){
$f = fopen($path, 'rb');
$i = 0;
while (!feof($f)) {
print(@fread($f, self::SIZE_CHUNK));
if ($i % self::FLUSH_THRESHOLD === 0) {
flush();
}
$i++;
}
fclose($f);
});
$contentDisposition = $ret->headers->makeDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'ubuntu.iso');
$ret->headers->set('Content-Disposition', $contentDisposition);
return $ret;
}
Avez-vous déjà rencontré ce problème ?
Merci d'avance pour votre aide :)