2016-06-26 11 views
1

저는 Laravel 5.1을 통해 새 프로젝트를 시작했으며 s3 (AWS)로 파일을 다운로드해야하는 부분에 왔습니다. 파일 형식을 XML로 유지하는 것으로 나타났습니다.Laravel AWS 다운로드

s3에 파일을 어떻게 다운로드합니까?

컨트롤러

//$key = urldecode($key); 


//This way found file as .xml but can't get zip file?! 
$key = str_replace('.zip', '.xml', $firmware->key); 
$test = Storage::disk('s3')->get('db/'.$key); 

//dd($test); this get: 
FileNotFoundException in FilesystemAdapter.php line 58: 
db/Toshiba\07GAH\TOSHIBA MK8007GAH-BG002H0-Y6HNW0EOW.xml* 

$data = (array) simplexml_load_string($test) or die("Can't read XML for $manifest"); 
//dd($data); 
//dd($test); 

return response()->download('db/'.$data['key']); 

을이 때 DB를 변화 "\" "/"

screenshot

+3

모니터 사진을 찍었습니까?!?!? –

+0

정말요?! 연락처와 사진을 공유 할 때 사진을 찍는 것이 두 번 쉬우 며 사진 찍기는 쉽지 않습니다. 당신은 내가 ss를 제공하지 않습니다 오류를 볼 수 있습니다 .. – maki10

+0

이것은 내가 Laravel 5.1에서하는 방법입니다. [http://stackoverflow.com/questions/36778167/download-from-laravel-storage-without-loading-whole-file -in-memory] (http://stackoverflow.com/questions/36778167/download-from-laravel-storage-without-loading-whole-file-in-memory) – maki10

답변

1

오류는 내가 브라우저에서 볼 오류입니다 : 여기에 지금까지 가지고 무엇을 자기 설명했다. 제공된 이름의 서버에서 .. 웰 파일을 찾을 수 없으므로 해당 예외 FileNotFoundException이 발생합니다.

먼저 서버에 파일이 있는지 확인하고 그 방법으로 Laravel documentation for File System을 처리해야합니다. 당신이 더 아래 해당 설명서에 조금 가면 당신은이 debuging을 위해 무언가

$files = Storage::disk('s3')->files(); //or allFiles() return sub dir files also 
dd($files); 

처럼 될 것이며, 당신이 잘못하고있는 것을 볼 수 귀하의 경우 방법 list all files from directory 상점에 섹션이 있습니다. 데이터를 사용하여 오류를 수정하고 앱을 계속 만들 수 있습니다.