CMF5 图片上传并保存到七牛云

    /**
     * 上传图片并保存到七牛云
     */
    public function uploadPic(){
        //接收文件
        $file=request()->file('file');

        if($file==null){
            exit(json_encode(array(
                'code'=>'error',
                'msg'=>'请上传文件!'
            )));
        }

        //路径
        $path = 'default' . DS .date('Ymd',time());
        $filePaths= 'upload' . DS . $path;

        if(!empty($file)){
            $info = $file->validate(['size'=>10485760,'ext'=>'gif,jpg,jpeg,png,bmp,swf,mp4,mov'])->rule('uniqid')->move($filePaths);

            $error = $file->getError();

            //验证文件后缀后大小
            if(!empty($error)){
				return ['code'=>404,'msg'=>$error];
            }
            if($info){
                // 成功上传后 获取上传信息
                $suffix = $info->getExtension();//文件后缀
                $image=['gif','GIF','jpg','JPG','jpeg','JPEG','png','PNG','bmp','BMP','swf','SWF'];
                $video=['mp4','MP4','mov','MOV'];
                if(in_array($suffix,$image)){
                    $file_type = 'image';
                }else if(in_array($suffix,$video)){
                    $file_type = 'video';
                }else{
                    $file_type = 'fail';
                }

                $info->getSaveName();
                $photo = $info->getSavename();

		        //上传农场背景图片到七牛云

		        //本地路径
				$image_url = $filePaths. DS .$photo;

		        //上传到七牛云图片名称
		        $name = $path. DS .$photo;

				//获取token值
				$accessKey = '**************************************';
				$secretKey = '**************************************';

				// 初始化签权对象
				$auth = new Auth($accessKey, $secretKey);
				$bucket = '******';

				$token = $auth->uploadToken($bucket);
				$uploadMgr = new UploadManager();

				// 调用 UploadManager 的 putFile 方法进行文件的上传。
				list($ret, $err) = $uploadMgr->putFile($token, $name, $image_url);

		        //删除本地临时图片
				if(is_file($image_url)) {
					unlink($image_url);
				}

		        //七牛云图片路径
				$image_url = cmf_get_image_url($name) . '?imageView2/1/w/300/h/300';

		        //去除水印操作
				$image_url = str_replace('!watermark','',$image_url);
				
            }else{
                // 上传失败获取错误信息
                $file->getError();
            }
        }else{
            $photo = '';
        }
        if($photo !== ''){
            $src = cmf_get_image_url($path.DS.$photo);
            return ['code'=>1,'msg'=>'成功','file_type'=>$file_type,'photo'=>$path.DS.$photo,'src'=>$image_url,'base64_image'=>''];
        }else{
            return ['code'=>404,'msg'=>'失败'];
        }
    }

 

转载于:https://my.oschina.net/u/3214063/blog/3012312

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值