Laravel and Intervention Image getSize()error

问题描述 投票:0回答:1

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

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

php laravel image intervention
1个回答
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.');
    }

© www.soinside.com 2019 - 2024. All rights reserved.