thinkphp5百度云上传

最近弄了不少上传图片的,大家可以去看看,老样子上代码
下载百度sdk包
官方网站https://cloud.baidu.com/doc/Developer/index.html
记得引用

use BaiduBce\Services\Bos\BosClient;
    /**
    * 百度图片上传
    * @return String 图片的完整URL
    */
    public function baidu_upload()
    {
        require_once APP_PATH . '/../vendor/baidu/BaiduBce.phar';//引用sdk
        if($this->request->isAjax()){
        // 拿到图片
        $file = request()->file($_FILES);
        $info = $file['file'];
        if ($info) {
                $BOS_TEST_CONFIG =
                    array(
                        'credentials' => array(
                            'accessKeyId' => config('accessKeyId'),
                            'secretAccessKey' => config('secretAccessKey'),
                        ),
                        'endpoint' => config('endpoint'),
                    );
                $client = new BosClient($BOS_TEST_CONFIG);
                $bucketName = config('baidubucket');
                $baiduurl = config('baiduurl');
                // 配置信息
                $err = $client->putObjectFromFile($bucketName,$info['name'],$info['tmp_name']);
                if ($err == null) {
                    return ["err"=>1,"msg"=>$err,"data"=>""];
                } else {
                    //返回图片的完整URL
                    return ["code"=>"2","msg"=>"上传完成","data"=>($baiduurl .'/'. $info['name']),"url"=>$info['tmp_name']];
                }
            } else {
                // 上传失败获取错误信息
                echo $file->getError();
            }
        }
    }

总结:
1.接收文件
2.配置上传信息,我是全放config里面,可以直接放代码里
3.上传
4.返回一个网址

上一篇:thinkphp5 常用的2个方法


下一篇:thinkphp5操作redis系列教程】列表类型之lRange,lGetRange