我正在尝试将干预/图像集成到我的laravel项目中,以便在上传图像时创建缩略图。
图像上传本身运行良好,识别干预本身似乎没有任何问题。
下面是代码块。该错误似乎发生在save语句的行上,设置之后,我可以死掉并转储$img
的内容。
$file = $request->file('image');
$name = md5($file->getClientOriginalName() . time());
$extension = $file->getClientOriginalExtension();
$fileName = $name . '.' . $extension;
$file->move('./uploads/images/', $fileName);
$img = Image::make($file)->fit(300);
$img->save('/uploads/thumbnails/' . $name, 60, 'jpg');
这是我得到的错误:
SplFileInfo::getSize(): stat failed for /private/var/folders/87/p5x7mgy914qg9ytf2zccc6q00000gn/T/php3lshFS
经过一些搜索,我发现这可能与文件大小上传限制有关,但是我更改了php.ini文件(所有这些都是本地btw)以接受20MB文件并且我要上传的文件小于100kb。我还通过自制软件和Apache重置了php。仍然出现错误。
在使用干预措施时是否存在明显的明显问题?我会很乐意提供更多信息,这是我的一个控制器中的存储功能。
答案 0 :(得分:0)
未经测试,但我这样做是这样的:
public function thumbnail(Request $request){
$thumbDir= storage_path('app/public').'/uploads/thumbnails/';
$file = $request->file('image');
$filename = md5($file->getClientOriginalName() . time()).'.jpg';
// $name = md5($file->getClientOriginalName() . time());
// $extension = $file->getClientOriginalExtension();
// $fileName = $name . '.' . $extension;
// $file->move('./uploads/images/', $fileName);
Image::make($file)->encode('jpg', 60)->fit(300, null, function ($c) {
$c->aspectRatio();
$c->upsize();
})->save($thumbDir . $filename);
return back()->with('success','The Image Has Been Added.');
}