Como implementar o download retomado no Silex
Nosilex Eu posso fazer isso para fazer o download forçado de um arquivo:
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
$app = new Silex\Application();
// Url can be http://pathtomysilexapp.com/download
$app->get('/download', function (Request $request) use ($app) {
$file = '/path/to/download.zip';
if( !file_exists($file) ){
return new Response('File not found.', 404);
}
return $app->sendFile($file)->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'download.zip');
});
$app->run();
Isso funciona bem para arquivos menores. No entanto, meu caso de uso requer o download de um arquivo grande que pode ser pausado / retomado por um gerenciador de downloads.
Há um exemplo sobre arquivotransmissão mas não parece ser o que estou procurando. Alguém já fez isso antes? Eu poderia apenas usar oresponda daqui e acabar com isso. Mas seria bom se houvesse uma maneira silexy de fazer isso.