图像大小调整拉拉维尔不支持编码格式 (tmp)



我想调整上传图像的大小并存储在文件夹中,然后在Web中显示。 我在Blade.php的表单上使用enctype="multipart/form-data"。 文件在 Web 中成功显示,无需调整大小。 尝试调整图像大小时出现错误

控制器.php

public function dili(Request $request)
{
$di = new diligent;

$di->jobtype = $request->jobtype;
$di->jobC = $request->jobC;
$di->details = $request->details;
$image = $request->file('image');
$path = $image->getClientOriginalName();
$destinationPath = public_path('img');
Image::make($image)->resize(300, 100)->save($image);
$a = $image->move($destinationPath, $path);
$di->image = $path;
$di->save();
$de = diligent::all();
return view('admin')->with('dw', $de);
}

错误信息

不支持编码格式 (tmp(。

1(在Image::make((中使用getRealPath((

2(将图像保存在特定路径中。试试这样。

if($request->hasFile('image')) {
$image       = $request->file('image');
$filename    = $image->getClientOriginalName();
$image_resize = Image::make($image->getRealPath());              
$image_resize->resize(300, 100);
$image_resize->save(public_path('img/' .$filename));
}

确保已安装图像干预库。

干预图像save((方法需要一个文件名,以便它知道保存图像的文件格式(jpg、png 等(。

您收到错误的原因是它不知道将临时图像对象(tmp(保存的编码。

这是一个例子

->save('my-image.jpg', 90)

还有一个可选的第二个参数来控制质量输出。以上输出质量为90%。

http://image.intervention.io/api/save

最新更新