tp5.1+腾讯cos

2018-11-13  本文已影响0人  刘阳_6236

因为开发软件中上传图片、文档等比较多,考虑使用云存储,选择了腾讯cos。开发步骤如下:
1、在根目录运行 composer require qcloud/cos-sdk-v5
2、在控制器中引用,参考文档使用 require '../vendor/autoload.php',引用不到,直接用use Qcloud\Cos\Client;参考腾讯cos说明如下代码:

        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('image');
//dump($file->getinfo());

        $cosClient = new Client(array('region' => 'ap-beijing',
            'credentials'=> array(
                'secretId'    => 'A*******************',
                'secretKey' => 'HN****************')));

//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        $bucket = 'ximi-1251026743';
        $key = 'gjxy'. "/" . md5(microtime()) . '.jpg';
        $local_path = $file->getInfo()['tmp_name'];

        try {
            $result = $cosClient->putObject(array(
                'Bucket' => $bucket,
                'Key' => $key,
                'Body' => fopen($local_path, 'rb')));

            print_r($result['ObjectURL']);
        } catch (\Exception $e) {
            echo "$e";
        }

    }

key 代表存储到cos的路径
result 有很多返回值,objecturl是具体的引用网址,可以直接放入数据库中方便下次引用。
为了安全加入了防盗链,在bucket的防盗链中设置白名单 ,加入 *.example.com

上一篇 下一篇

猜你喜欢

热点阅读