starasz się przekazać do putFile zły przedmiot. Ta metoda oczekuje obiektu File (nie Image).
$path = $request->file('createcommunityavatar');
// returns \Intervention\Image\Image - OK
$resize = Image::make($path)->fit(300);
// expects 2nd arg - \Illuminate\Http\UploadedFile - ERROR, because Image does not have hashName method
$store = Storage::putFile('public/image', $resize);
$url = Storage::url($store);
Ok, teraz kiedy zrozumiemy, że głównym powodem, niech ustalić kod
// returns Intervention\Image\Image
$resize = Image::make($path)->fit(300)->encode('jpg');
// calculate md5 hash of encoded image
$hash = md5($resize->__toString());
// use hash as a name
$path = "images/{$hash}.jpg";
// save it locally to ~/public/images/{$hash}.jpg
$resize->save(public_path($path));
// $url = "/images/{$hash}.jpg"
$url = "/" . $path;
Wyobraźmy sobie, że chcesz użyć fasadę Przechowywanie:
// does not work - Storage::putFile('public/image', $resize);
// Storage::put($path, $contents, $visibility = null)
Storage::put('public/image/myUniqueFileNameHere.jpg', $resize->__toString());
Cześć, spróbuj tego obrazu :: make ($ path) -> resize (300, 300); – iCoders
To dało mi ten sam błąd co poprzednio. 'Polecenie (hashName) nie jest dostępne dla sterownika (Gd).' – CriticalTheWizard
Czy zostało to rozwiązane? – dbr