七牛上传图片接口

 补单系统涉及到的图片非常多,把图片上传到七牛云可以大大节省服务器空间!

public function submitImg()
    {
        $type = input('type', 0);
        if ($type <= 0) {
            return json(['status' => -1, 'msg' => '无效参数']);
        } else {
            $file = request()->file('file');
            //验证文件格式
            $result = $this->validate(['file' => $file], ['file'=>'require|image'],['file.require' => '请选择上传文件', 'file.image' => '非法图像文件']);
            if(true !== $result){
                $this->error($result);
            }
            if ($file) {
                switch ($type) {
                    case 1:
                        // 商家意见
                        $folderName = 'suggestion';
                        break;
                    case 2:
                        // 商家充值
                        $folderName = 'business_recharge';
                        break;
                    default:
                        $folderName = '';
                        break;
                }
                // 要上传图片的本地路径
                $filePath = $file->getRealPath();
                $ext = pathinfo($file->getInfo('name'), PATHINFO_EXTENSION);  //后缀
                
                // 上传到七牛后保存的文件名
                $key = $folderName. '/' . substr(md5($file->getRealPath()) , 0, 5). date('YmdHis') . rand(0, 9999) . '.' . $ext;
                // 需要填写你的 Access Key 和 Secret Key
                $accessKey = config('ACCESSKEY');
                $secretKey = config('SECRETKEY');
                // 构建鉴权对象
                $auth = new Auth($accessKey, $secretKey);
                // 要上传的空间
                $bucket = config('BUCKET');
                $domain = config('DOMAIN');
                $token = $auth->uploadToken($bucket);
                // 初始化 UploadManager 对象并进行文件的上传
                $uploadMgr = new UploadManager();
                // 调用 UploadManager 的 putFile 方法进行文件的上传
                list($imgUrl, $err) = $uploadMgr->putFile($token, $key, $filePath);
               // dump($err);
                if ($err !== null) {
                    return json(['status' => 0, 'msg' => '上传失败,请重新上传']);
                } else {
                    //返回图片的完整URL
                    return json(['status' => 1, 'msg' => '上传成功', 'imgUrl' => $domain . '/' . $imgUrl['key']]);
                }
            } else {
                return json(['status' => 0, 'msg' => '上传失败,请重新上传,只能上传jpg,png,gif格式']);
            }
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值