2017-02-28 6 views
1

Ich arbeite an Laravel 5.3.30 und verwende einen Bildinterventions-Helper zum Hochladen des Bildes. Ich erhalte den Fehler "NotWitableException in Image.php Zeile 143: Kann keine Bilddaten in den Pfad schreiben (/ home/test/Desktop/Laravel/blog/public/images /)" während das Bild hochgeladen wird. Ich habe die entsprechende Berechtigung für das Verzeichnis festgelegt, kann aber immer noch kein Bild hochladen.Das Bild kann nicht in Laravel hochgeladen werden.

if($request->hasFile('featured_image')){ 
      $image = $request->file('featured_image'); 
      $filename = time().'.'.$image->getClientOriginalExtension(); 
      $location = public_path('images/', $filename); 
      Image::make($image)->resize(800,400)->save($location); 
      $post->image = $filename; 
     } 

ich überprüft haben, die Lösungen online, aber keiner es funktionierte:

-Code-Image-Datei zu laden. Bitte korrigieren Sie mich, wenn ich etwas falsch mache. Danke im Voraus.

+0

Fehler zugreifen Daten zum Pfad (/ home/test/Desktop/Laravel/blog/public/images /) "während des Hochladens des Bildes – vivek321

+0

Nur um zu bestätigen, das Verzeichnis' images' existiert bereits, richtig? – camelCase

+0

@camelCase - ja, es ist schon da – vivek321

Antwort

0

Führen Sie diesen Befehl Berechtigungen zu beheben:

chmod -R 755 /home/Desktop/Laravel/blog/public 

Wenn es nicht funktionieren werde und wenn es sich um eine lokale Maschine, versuchen 777.

+0

Ja, es ist localmachine und versuchte dies auch, aber es hat nicht funktioniert. Befehlszeile: chmod -R 777/home/test/Desktop/Laravel/Blog/public – vivek321

3

Hier alternativen Ansatz. Erwägen Sie die Speicherung im Verzeichnis storage, nicht in public. Dies ist Laravel recommended way.

Es kann in storage/app/public/images Verzeichnis gespeichert werden. Und dann create symlink mit php artisan storage:link Befehl.

Auf diese Weise, wenn die Verwendung diesen Pfad zu speichern: NotWritableException in image.php Linie 143: schreiben Bild kann nicht

$location = storage_path('app/images/', $filename); 

Nach Symlink erstellt wird, können Sie Bild-URL wie http://your-site.app/storage/images/qwerqrewqerwq.jpg

Verwandte Themen