Ich bin ein wenig verwirrt hier mit dieser Storage VS öffentlichen Pfaden in Laravel 5> ... Mein Verständnis ist, sollte Storage::
anstelle von File::
für das Schreiben von Dateien in den Storage-Ordner Zukunft der Nutzung von Cloud-Diensten wie Amazon usw. verwenden Also ich versuche, ein jpg in einen der storage/app
Ordner mit Intervention zu setzen und diesen Code:Speicherpfad nicht schreibbar in Laravel mit Intervention?
public function apply(Request $request)
{
$user = Auth::user();
$path = '/users/'.$user->id;
if (!Storage::exists($path))
{
Storage::makeDirectory ($path, $mode = 0755, $recursive = false, $force = false);;
}
Image::make($request->file('image'))
->orientate()
->resize(600, null, function ($constraint) {
$constraint->aspectRatio();
})
->resizeCanvas(600, 600, 'center', false, 'ffffff')
->save($path.'/foo.jpg');
}
Zunächst einmal bin ich nicht sicher die !Storage::exists($path)
alles tun wird, wie die API für die Speicherung sagt es nicht, wird für Verzeichnisse, wie sollte ich überprüfen, ob ein Verzeichnis existiert? Sekunde dd(is_writable($path))
; return false, und in der Tat läuft dieser Code in
NotWritableException in Image.php line 143:
Can't write image data to path
Fehler. also wie soll das geschehen?
Hat Ihr Speicherverzeichnis Schreibrechte? – Abhishek
Ich glaube Intervention SAVE-Funktion kann hier nicht funktionieren. Dennoch kann ich nicht verstehen, wie man die Datei mit Storage auf die lokale Festplatte schreibt, nachdem das $ image Objekt als $ image = (Interventionsdatei) – Chriz74
erstellt wurde, und benutze File facade statt Storage. mehr Infos: http://laravel-recipes.com/categories/20 –