2016-10-25 3 views
0

i는 배낭을 사용하고 Json의 일부 쿼리 및 이미지가 포함 된 zip을 다운로드하려고합니다. 내가 필요한 건 백팩 백업과 똑같아. 백업 후 다운로드가 완료됩니다. 제 경우에는 압축이 끝나면 다운로드가 필요합니다.Laravel-backpack 일부 작업이 완료되면 다운로드

완봉 proses 때 사용자가 클릭 호출 제어기에 다운로드 기능이다

public function download($packId) 
     { 
      $content = DB::table('questions')     
         ->join('package_has_questions', 'questions.id', '=', 'package_has_questions.question_id')  
         ->where('package_has_questions.package_id','=',$packId) 
         ->select('questions.*')   
         ->get(); 

    $fileName = carbon::now() 
    $data = json_encode($content); 

    $files = glob(public_path('export/'.$fileName.'.json')); 

     $zipper = new \Chumper\Zipper\Zipper; 
     $zipper->make('export/'.$fileName.'.zip')->add($files); 

     foreach($content as $eachContent){ 
      $imgPathA=glob(public_path('img/game/'.$eachContent->img_a_file)); 
      $imgPathB=glob(public_path('img/game/'.$eachContent->img_b_file)); 
      // dd($imgPath); 
      $zipper->folder('img')->add($imgPathA); 
      $zipper->folder('img')->add($imgPathB); 
     } 
    $pathDownload =Response::download(public_path('export/'.$fileName.'.zip'))->deleteFileAfterSend(true); 

    return $pathDownload; 
} 

FileNotFoundException이 File.php 라인 37에서 eror을 돌려 "다운로드" 2016-10을 -25.zip "이 존재하지 않습니다

그러나 내가 다시 다운로드하려고하면 다운로드 할 수 있습니다. 파일이 존재하지 않습니다. 다시 나타납니다

마치 지퍼가 완료되기 전에 다운로드 응답이 실행 중입니다. 두 번째 시도에서 응답은 이미 첫 번째 시도에서 수행 된 zip을 다운로드합니다. 누군가가 어떤 올바른 방법을 알고있는 경우

, 난 속에서의 싸움은 정말 당신이 그것을 다운로드하기 전에 지퍼를 닫 필요 난 정말 여기

답변

1

에 갇혀, 이 제발 도와주세요 것을 감사드립니다.

... 
$zipper->close(); 
$pathDownload =Response::download(public_path('export/'.$fileName.'.zip'))->deleteFileAfterSend(true); 
... 
관련 문제