php 图片上传 图片生成缩略图压缩 再转base64

   function base64EncodeImage ($image_file) {
        $image_info = getimagesize($image_file);
        $image_data = fread(fopen($image_file, 'r'), filesize($image_file));
        $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
        return $base64_image;
    }


     $file = request()->file('');
     if(!empty($file['img1'])){
                $info = $file['img1']->validate([
                    'size' => 1567800000,
                    'ext'  => 'jpg,png,gif,jpeg',
                ])->rule('uniqid')->move('upload/');
                if ($info) {
                     //图片生成缩略图压缩 
                    $img = \think\Image::open($info);
                    $img->thumb(800,800)->save('./upload/'.$info->getSaveName());
                    $data['idCardPic'] = '/upload/'.$info->getSaveName();
                }else{
                    return   $this->ajaxReturn(1,1,'上传图片失败');
                }

            }


 $base64_img1 = $this->base64EncodeImage('.'.$data['idCardPic']);

 

今天在使用一个第三方拓展Image类时报了这个错误,

引用方式如下 \think\image::open($imgSrc);

类的命名空间没有错误,检查了下,发现应该是框架的依赖自动注入出错,

最简单的解决方法是把 ./vendor/topthink/think-image/src下的文件(包括image.php和image文件夹)

移动到 ./thinkphp/library/think 目录下 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值