2016-06-26 14 views
1

Ich habe ein neues Projekt über Laravel 5.1 gestartet und kam zu dem Teil, wo ich eine Datei mit s3 (AWS) herunterladen muss. Ich habe festgestellt, dass Dateien im XML-Format gespeichert werden.Laravel AWS Download

Wie lade ich eine Datei nach s3 herunter? Hier ist, was ich bisher:

-Controller

//$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']); 

Dies ist Fehler, den ich im Browser zu sehen, wenn sie in db ändern "\" in "/"

screenshot

+3

Sie haben ein Foto von Ihrem Monitor gemacht?!?!? –

+0

Wirklich ?! Wenn Sie ein Foto mit Ihren Kontakten teilen, ist es zweimal einfacher, ein Foto zu machen und keine SS zu nehmen. Sie können den Fehler sehen, den ich SS nicht zur Verfügung stellen werde. – maki10

+0

Dieses ist, wie ich in Laravel 5.1 [http://stackoverflow.com/questions/36778167/download-from-laravel-storage-without-loading-whole-file tun -in-memory] (http://stackoverflow.com/questions/36778167/download-from-laravel-storage-witout-loading-whole-file-in-memory) – maki10

Antwort

1

Der Fehler ist Selbst erklärt. Sie erhalten diese Ausnahme FileNotFoundException, weil .. Well-Datei wurde nicht auf dem Server mit dem angegebenen Namen gefunden.

Sie sollten zuerst überprüfen, ob die Datei auf dem Server existiert und so umgehen Laravel documentation for File System. Wenn Sie ein wenig weiter unten auf dieser Dokumentation gehen Sie Abschnitt, wie man list all files from directory tho in Ihrem Fall wäre es so etwas wie

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

dies für Debugging sein und zu sehen, was man falsch machen. Mit Daten, die Sie daraus erhalten, können Sie Ihre Fehler beheben und mit dem Erstellen Ihrer App fortfahren.

Verwandte Themen