2014-10-31 4 views
0

을 사용하여 천천히 다운로드하므로 사용자가 화면 배경 화면으로 다운로드 할 수있게 해주는 큰 (1.7MB) jpg 파일이 있습니다. 나는 다음과 같은 사용하고 있습니다 : 이것은 내 로컬 dev에 서버에 정말 빨리 작동하지만, 내 프로덕션 서버에 표시 브라우저 다운로드 대화 상자에 대한 14 개의 초 정도 걸립니다Laravel : Response :: download

/** 
* getWallpaper 
* Download the wallpaper in jpg format from above web root 
* 
* @return file 
*/ 
public function getWallpaper() 
{ 
$file = "../downloads/myfile.jpg"; 

$headers = array('Content-Type: image/jpeg'); 

return Response::download($file, 'myfile.jpg', $headers); 
} 

. 아이디어가 있으십니까? 서버 수준에서 설정 미스 매치 일 수 있습니까? 그렇다면 어떤 설정을보고 있어야합니까? 도움 주셔서 감사합니다. Ollie.

답변

0

누군가가 같은 문제를 겪고있는 경우를 위해서 - 네트워크 연결 문제로 밝혀졌습니다.

내 작업 연결에서 다운로드 대화가 나타나기 전에 나는 여전히 오래 걸립니다. 즉시. 왜 생각하는지 모르겠다!

0

저는 여기에서 추측하고 있지만 첨부 파일과 콘텐츠 유형 헤더를 설정 한 다음 flush()을 즉시 호출하여 해당 정보를 클라이언트에 보내 대화 상자를 열 수 있습니다. 우리가 다시 Response::download에서 설정 헤더를 설정하고 있기 때문에 제 생각에는

public function getWallpaper(){ 
    $file = "../downloads/myfile.jpg"; 

    header('Content-Type: image/jpeg'); 
    header('Content-Disposition: attachment; filename="myfile.jpg"'); 

    flush(); 

    return Response::download($file, 'myfile.jpg'); 
} 

그것은, 해키 (중복 조금 느낌,하지만 작동하는지 당신은 아마 Response 클래스 또는 무언가를 확장 할 수 있습니다.

+0

감사하지만 주사위가 없습니다. 다운로드 대화가 나타나기까지 12-14 초 가량 걸립니다. –

+0

음 ... 다른 서버에서 사용해 볼 수 있습니까? 귀하의 로컬 dev에 서버가 예상대로 작동하는 유일한 경우 또는 귀하의 현재 프로덕션 서버가 유일한 문제가있는 경우 궁금하네요 ... – lukasgeiter

+0

다른 서버에 뭔가를 설정할 수 있습니다 -하지만 난 주위에 놀고 더 많은 뉴스를 가지고있다 : 내가 pdf로 이것을하려고한다면, 그것은 예상대로 작동한다. 즉 다운로드 다이얼로그는 클릭 즉시 나타난다. 그러나, 나는 또한 .zip 파일이 jpg와 동일한 느린 동작을한다는 것을 알게되었습니다. 그게 당신에게 단서를 제공합니까? –