Laravel 4.2 Intervention-image отображает сломанное изображение

Я следую руководству Laracast по обработке манипулирования изображениями с помощью Intervention. После добавления его в мой файл композитора и запуска обновления композитора я добавил его к своим поставщикам услуг и псевдонимам, как указано в руководство по установке. Кроме того, я использую Vagrant 1.7.4 и виртуальную коробку Laravel под названием Scotch Box 2.5.

Однако мне не удалось успешно использовать Intervention в моем приложении. Вот мой примерный маршрут:

Route::get('foo', function() {
    $image = Image::make('http://placehold.it/500x500/000/e8117f');
    return Response::make($image->encode('jpg'), 200, ['Content-Type' => 'image/jpeg']);
});

Когда я захожу на страницу в браузере, все, что я вижу, это иконка сломанного изображения. И я действительно смущен тем, почему инструмент инспектора разработчика в Chrome отображает:

<img style="-webkit-user-select: none" src="http://192.168.33.10/public/foo">

person Rach7110    schedule 05.11.2015    source источник


Ответы (1)


Вместо того, чтобы возвращать Response::make, вы можете просто сделать это:

return $image->response('jpg');

Вы также можете сделать это:

return $image->response();

По умолчанию данные ответа будут закодированы в типе текущего изображения. Если тип изображения еще не определен, метод вернет данные в формате jpeg.

Источник: http://image.intervention.io/api/response.

person Thomas Kim    schedule 05.11.2015
comment
Я попробовал эти предложения, но получил те же результаты с неработающим изображением. - person Rach7110; 06.11.2015
comment
Очень странно... Вы знаете, соответствуете ли вы системным требованиям? PHP ›= 5.4, расширение fileinfo и библиотека GD (›= 2.0) или расширение Imagick PHP (›= 6.5.7)? - person Thomas Kim; 06.11.2015
comment
согласно создателю виртуального ящика, он должен использовать PHP 5.6, GD и Imagick. - person Rach7110; 07.11.2015