Laravel和干预图像getSize()错误

时间:2019-10-04 01:41:48

标签: php laravel image intervention

我正在尝试将干预/图像集成到我的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。仍然出现错误。

在使用干预措施时是否存在明显的明显问题?我会很乐意提供更多信息,这是我的一个控制器中的存储功能。

1 个答案:

答案 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.');
    }

相关问题