我正在创建一个API,其中我有一个名为OnlineAds()
的模型,它包含title
,full_discription
,short_discription
和image
这些列,我还创建了一个输入表单来填写这些字段并上传图像,在image
字段中我添加图像的名称并将图像存储在此路径中:storage/uploads
。我能够检索图像并显示它,但我仍然没有弄清楚如何在显示之前调整它的大小(假设我希望它是300 x 300),任何人都可以告诉我如何?
注意:我尝试使用Stapler和Imagine,但他们似乎给出了多个错误并且失败了!
这是我的控制者:
public function show()
{
$img = OnlineAds::find(50)->image;
$path = storage_path('uploads') . '/' . $img;
if (File::exists($path)) {
$filetype = File::type($path);
$response = Response::make(File::get($path), 200);
$response->header('Content-Type', $filetype);
return $response;
}
}
答案 0 :(得分:3)
您可以考虑使用Intervention来处理图像处理以及处理响应。它可以像这样简单:
public function show()
{
$img = OnlineAds::find(50)->image;
$path = storage_path('uploads') . '/' . $img;
if (File::exists($path)) {
$img = Image::make($path);
$img->resize(300, 300);
return $img->response();
}
}
关于如何安装Intervention库并将其与Laravel集成有detailed instructions,并且它不需要花费几分钟的时间来启动和运行。