2014-11-12 3 views
0
내 PHP 스크립트는 Laravel의 응답 : 다운로드를 기능을 사용하여 사용자에게 zip 파일을 다운로드

: 다운로드가 제대로 작동laravel 재개 다운로드

$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은이 부분적인 콘텐츠 다운로드를 지원합니까 아니면 Laravel 대신 네이티브 PHP 코드를 사용해야합니까?

추가 코드를 추가하더라도 어떻게 할 수 있습니까? 응답 :: 다운로드 사용자 요청 헤더에서 주어진 바이트의 데이터를 가져 오는 기능이 있습니까?

답변

1

콘텐츠 길이 (즉 파일 크기)를 지정하지 않으면 브라우저는 다운로드를 다시 시작하는 방법이나 위치를 알 수 없습니다. 또한, 전체 경로에서 파일 이름을 잡기 위해 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); 
관련 문제