2017-10-27 1 views
0

Der Versuch, ein Foto-Uploader zu machen mit Intervention\Image Ich habe diese in ReportController @ store:Speichern mehrerer Bildeingabe mit Intervention Bild

public function SavePhoto($photo){ 
     $file_ext = $photo->getClientOriginalExtension(); 
     $file_name = uniqid(); 
     $photo_name = $file_name. '.' . $file_ext; 
     $path = public_path('uploads/photos/' . $photo_name); 
     Image::make($photo)->resize(300, null, function ($constraint) { 
      $constraint->aspectRatio(); 
     })->save($path); 
     return $photo_name; 
    } 

public function store(Request $request) 
    { 

     $observation = new Observation(); 
     $observation->content = $request['Observation']; 
     $observation->status_id = $request['Status']; 
     $photo = Input::file('photo'); 

     foreach ($photo as $p){ 
      $this->SavePhoto($p); 

     } 

Ich bin so verwirrt, wie die SavePhoto() -Methode für alle nennen Fotos eingeben.

Antwort

1

Gemäß der Laravel-API-Dokumentation verwenden Sie die allFiles()-Methode, um die Dateien von $request zu erhalten.

$photos = $request->allFiles(); 
foreach ($photos as $photo){ 
    $this->SavePhoto($photo); 
} 

Ich habe es aber nicht versucht. :)
sein das Äquivalent von $ _FILES Array des Erhaltens

foreach($_FILES as $photo) { 
    $this->SavePhoto($photo); 
} 
+0

habe ich versucht, es aber aber $ Fotos ein leeres Array Rückkehr: - $ Foto = Eingang :: allFiles(); zurückgeben $ Foto; ==> {"photo": {}} – user2873860

+0

Ich habe den Fehler in meinem Code korrigiert. $ _FILES ist der Name des Superglobalen. Ist das Array $ _FILES leer? Wenn nicht, überprüfen Sie, ob Sie es korrekt übermittelt haben und die Daten eintreffen. –

+0

Ich habe meinen Code geändert, die allFiles() -Methode ist Teil des Request-Objekts. –

Verwandte Themen