我的PHP脚本正在使用Laravel的 Response :: download 功能将zip文件下载到用户:
$file = public_path(). "/storage/rhcloud/lobby/0.1.zip";
$downloadName = "lobby-0.1";
$headers = array(
'Content-Type: application/zip',
);
return Response::download($file, $downloadName, $headers);
下载正常。但是,无法执行暂停/恢复下载功能。
我在网上搜索过,但没找到任何东西。 Laravel是否支持这种部分内容下载,还是应该使用原生PHP代码而不是Laravel?
即使添加其他代码,如何使用 Response :: download 函数从用户请求标头中获取给定字节的数据?
答案 0 :(得分:2)
如果您未指定内容长度(即文件大小),则浏览器不知道如何或从何处恢复下载。此外,您可以使用basename()
函数从完整路径中获取文件名 - 无需对其进行硬编码
试试这个:
$file = public_path(). "/storage/rhcloud/lobby/0.1.zip";
$headers = array(
'Content-Type: application/zip',
'Content-Length: '. filesize($file)
);
return Response::download($file, basename($file), $headers);