2015-11-05 95 views
0

我遵循Laracast教程使用Intervention来处理image manipulation。将它添加到我的作曲文件并运行作曲家更新后,我将其添加到我的服务提供商和别名中,如installation guide中的说明。另外,我使用的是Vagrant 1.7.4和一个名为Scotch Box 2.5的Laravel虚拟框。Laravel 4.2干预 - 图像显示破碎的图像

但是,我还没有能够成功地在我的应用程序中使用干预。这里是我的样本航线:

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"> 

回答

0

,而不是返回Response::make的,你可以这样做:

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

你也可以这样做:

return $image->response(); 

默认情况下,响应数据将被编码为当前图像的类型。如果尚未定义图像类型,则方法将返回jpeg编码的数据。

来源:http://image.intervention.io/api/response

+0

我尝试了这些建议,但获得与破碎的形象相同的结果。 – Rach7110

+0

很奇怪......你知道你是否符合系统要求? PHP> = 5.4,fileinfo扩展和GD Library(> = 2.0)或Imagick PHP扩展(> = 6.5.7)? –

+0

那么根据虚拟盒子的[creator](https://box.scotch.io/),它应该使用PHP 5.6,GD和Imagick。 – Rach7110