Ошибка при изменении размера загрузки изображений с Laravel Image Intervention - PullRequest
0 голосов
/ 11 ноября 2018

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

Это ошибка, которую я получаю при загрузке - я работаю в Valet.

Command (Extension) is not available for driver (Gd).

Следующее прекрасно работает без Image::make

      use Image;
      ...

      $authorID = Auth::user()->id;
      $file = request()->file('ts_image');
      if($file) {
      $file = Image::make($file)->resize(300, 300);

      $fileExtension = $file->extension();
      $unique_name = md5($file. time()).'.'.$fileExtension;
      //
      $fileImg = $file->storeAs('/public/images/' . $authorID, $unique_name);

Есть идеи? Спасибо!

Edit:

Когда dd ($ file) это то, что возвращается:

Image {#667 ▼
  #driver: Driver {#668 ▼
    +decoder: Decoder {#669 ▼
      -data: null
    }
    +encoder: Encoder {#670 ▼
      +result: null
      +image: null
      +format: null
      +quality: null
    }
  }
  #core: gd resource @16 ▼
    size: "300x300"
    trueColor: true
  }
  #backups: []
  +encoded: ""
  +mime: "image/jpeg"
  +dirname: "/private/var/tmp"
  +basename: "phpBPRGuD"
  +extension: null
  +filename: "phpBPRGuD"
}

1 Ответ

0 голосов
/ 22 марта 2019

Я использовал вмешательство, чтобы сохранить мои изображения в базе данных. Я работал с Laravel и мне нужно было сохранять изображения разных размеров, больших, средних и маленьких. Вот как это работает для меня

      if ($request->hasFile('image')) {
        $image_tmp = Input::file('image');
        if ($image_tmp->isValid()) {

            $extension = $image_tmp->getClientOriginalExtension();
            $filename = rand(111, 99999) . '.' . $extension;
            $large_image_path = 'images/backend_images/products/large/' . $filename;
            $medium_image_path = 'images/backend_images/products/medium/' . $filename;
            $small_image_path = 'images/backend_images/products/small/' . $filename;
            //resize image
            Image::make($image_tmp)->save($large_image_path);
            Image::make($image_tmp)->resize(600, 600)->save($medium_image_path);
            Image::make($image_tmp)->resize(300, 300)->save($small_image_path);
            $product->image = $filename;

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