Laravel 5.7 + Intervention Image: источник изображения не читается - PullRequest
0 голосов
/ 30 января 2019

Я создал приложение, которое загружает изображение вместе с заголовком, описанием и т. Д. Однако у меня возникла проблема с загрузкой некоторых изображений, она возвращает ошибку («Источник изображения не читается»), как показанониже:

enter image description here

Вот мой код:

$image = $request->file('image');
// $image = Input::file('image'); // already tried this one still same problem

$orginal_filename = $image->getClientOriginalName();
$ext = $image->getClientOriginalExtension();
$fileName = md5(microtime() . $orginal_filename) . '.' . $ext;

$img = Image::make($image->getRealPath());
$img->stream();
$img->resize(1200, null, function ($constraint) {
    $constraint->aspectRatio();
}); 

Storage::disk('storage_dir')->put($dir . $fileName, $img, 'public');

Уже пробовали следующие решения:

  • Изменить на Input :: file ('file')
  • Проверить, имеет ли тип содержимого запроса тип multipart / form-data (в запросе уже указан тип содержимого multipart / form-data)
  • Измените драйвер образа вмешательства с «gd» на «imagick»

, но все еще с ошибкой «Источник изображения не читается».

Примечание : Ошибка возникает только на некоторых изображениях.(Я также пытался переместить изображение (w / c произвело ошибки) в другой каталог, но ошибка все еще возникает).

Большое спасибо за помощь!

Ответы [ 3 ]

0 голосов
/ 31 января 2019

Извините за беспокойство, ребята!Казалось, я виноват в том, что не осознавал php post_max_size и php upload_max_file_size.Поскольку я пытался загрузить изображение размером более 8 МБ, я только увеличил post_max_size>, чем текущий размер файла изображения, но не upload_max_file_size, потому что я только увеличил его на 2 (указано: 4 МБ).

Спасибо, кстати, за помощь и предложения!

0 голосов
/ 08 августа 2019

Если проблема возникает в проекте Laravel 5.7, и вы сохраняете свои изображения в папке хранилища, это может решить проблему, введя это в терминал:

php artisan storage:link

(Проблема возникает, если выклонировали проект из github og bitbucket)

0 голосов
/ 31 января 2019

Вы можете попробовать запустить мой код

if ($request->file('photo')->isValid()) {
        $avatar = $request->file('photo');

        $filename = time() . '.' . $avatar->getClientOriginalExtension();

        Image::make($avatar)->resize(300, 300)->save( public_path('/uploads/avatars/' . $filename) );

    }

/ uploads / avatars / это мой каталог

...