上传图片到腾讯云

无人久伴 提交于 2020-12-09 04:19:08

1、composer安装扩展

"qcloud/cos-sdk-v5": "1.*"

2、代码,多图

<?php

namespace App\Library\lib;

use Qcloud\Cos\Client;

class CosLib
{
    const REGION = 'test';
    const APP_ID = 'test';
    const SECRET_ID = 'test';
    const SECRET_KEY = 'test';

    const BUCKET = 'test';
    const ROOT_PATH = 'test';
    /**
     * 【构造函数】
     *
     */
    public function __construct() {

    }

    /**
     * 上传多张图片到腾讯云
     * @param $files
     * $files示例:$request->file('file_img')
     * @return array
     */
    public static function uploadSkuImg($files) {

        $cosClient = new Client(
            array(
                'region' => self::REGION,
                'credentials'=> array(
                    'appId' => self::APP_ID,
                    'secretId'    => self::SECRET_ID,
                    'secretKey' => self::SECRET_KEY
                )
            )
        );
        $httpPaths = [];
        try {
            foreach ($files as $file) {
                $realPath= $file->getRealPath();

                $currentTime = time();
                $curY = date('Y', $currentTime);
                $curM = date('m', $currentTime);
                $curD = date('d',$currentTime);
                $fileName = $curY.$curM.$curD.$currentTime.mt_rand(1000, 9999).'.jpg';
                $key = $curY.'/'.$curM.'/'.$curD.'/'.$fileName;

                $result = $cosClient->putObject(
                    array(
                        'Bucket' => self::BUCKET,
                        'Key' =>  $key,
                        'Body' => file_get_contents($realPath)
                    )
                );

                $httpPaths[] = self::ROOT_PATH . $key;
            }
        } catch (\Exception $e) {
            return [
                'code' => 201,
                'result' => $e->getMessage()
            ];
        }

        return [
            'code' => 200,
            'result' => $httpPaths
        ];
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!