Изменение размера изображения с помощью Laravel Image Intervention не позволит мне сохранить - PullRequest
0 голосов
/ 12 июня 2018

Мне сложнее всего изменить размер изображения с помощью Laravel Image Intervention.Я могу нормально называть и сохранять изображения, но когда я добавляю изображение, он не сохраняет новый файл, созданный в папке.

Вот что у меня в контроллере

 //This all works
        $title = str_slug(request('title'));
        $filenameWithExt = $request->file('cover_image')->getClientOriginalName();
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        $extension = $request->file('cover_image')->getClientOriginalExtension();
        $fileNameToStore= $title.'.'.$extension;
        $thumbnailpic= 'thumb'.'-'.$fileNameToStore;
//store image
        $path = $request->file('cover_image')->storeAs('public/cover_images', $fileNameToStore);

//Here is where I am trying to resize and it breaks

        $file = Input::file('cover_image');
        Image::make( $file->getRealPath() )->fit(340, 340)->save('public/cover_images/' . $thumbnailpic);

Это ошибка, которую я получаю

"Can't write image data to path (public/cover_images/thumb-imagename.png)"

Если удалить две строки кода изменения размера, все работает отлично,Я запускаю это локально и сделал все полностью открытым для разрешений.Не уверен, что еще делать.Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Так что я наконец понял это.Я сохранял в public_path, вмешательство в изображение которого явно не понравилось.Поэтому я использовал код ниже

    $source = storage_path().'/app/public/cover_images/'.$fileNameToStore;
    $target = storage_path().'/app/public/cover_images/' . $thumbnailpic;


    Image::make($source)->fit(140, 140)->save($target);

, и он работал!

0 голосов
/ 12 июня 2018

Проблема, похоже, связана с сохранением пути, Можете ли вы попробовать дать полный путь, как это,

$targetPath = storage_path().'/app/public/cover_images/';
...
->save($targetPath . $thumbnailpic);

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...