LaravelはテンセントクラウドCOSサービスを利用

19680 ワード

1.私たちが開発の過程で、よく画像が多すぎるためサーバーの圧力が増大し、ウェブサイトの運行速度を遅らせる.だから私たちはテンセントのCOSサービスの第一歩を使いました:まずテンセント雲の中にバケツ(リモートストレージ)を申請しますhttps://console.cloud.tencent.com/cos5/bucketステップ2:このバケツを使用するには2つの鍵(クラウドAPI鍵SecretId、クラウドAPI鍵SecretKey)が必要なので、この2つの鍵を申請しなければなりません.https://console.cloud.tencent.com/cos5/keyこの2つのものはすべて完備した後、コード実現過程laravelフレームワーク①: composer require freyo/flysysystem-qcloud-cos-v 5②: config/app.phpのprovidersで追加->>>>FreyoFlysystemQcloudCOSv 5ServiceProvider::class,③:filesystems.phpのdisksの下に追加
'disks'=>[
    // ...
    'cosv5' => [
          'driver' => 'cosv5',
          'region'          => env('COSV5_REGION', 'ap-guangzhou'),
          'credentials'     => [
              'appId'     => env('COSV5_APP_ID'),
              'secretId'  => env('COSV5_SECRET_ID'),
              'secretKey' => env('COSV5_SECRET_KEY'),
          ],
          'timeout'         => env('COSV5_TIMEOUT', 60),
          'connect_timeout' => env('COSV5_CONNECT_TIMEOUT', 60),
          'bucket'          => env('COSV5_BUCKET'),
          'cdn'             => env('COSV5_CDN'),
          'scheme'          => env('COSV5_SCHEME', 'https'),
    ],
],

④:/filesystems.phpで「default」=>「cosv 5」を変更し、

namespace App\Http\Controllers\crontab;
use Qcloud\Cos\Client;


class CosController extends CrontabBaseController
{
    protected $crontab;
    protected $user;
    protected $cosClient;
    public function __construct()
    {
        parent::__construct();
        $secretId = "AKIDvAB0e4hOGxQecOkUlpgHdjZFnAIBmCNM"; //"  API    SecretId";
        $secretKey = "teDWZMuCF2qQlx0oX5NXS7WgbIlz3sVP"; //"  API    SecretKey";
        $region = "ap-beijing"; //            
        $this->cosClient = new Client(
            array(
                'region' => $region,
                'schema' => 'https', //    ,   http
                'credentials'=> array(
                    'secretId'  => $secretId ,
                    'secretKey' => $secretKey)));
    }

    /**
     *       COS
     */
    public function add_cos(){
        try {
            $bucket = 'jiawei-1258859392'; //     
            $key = "/picture/180927085458.jpeg";//        
            $srcPath = "http://62.234.77.147//uploads/180927085458.jpeg";//        
            $result = $this->cosClient->putObject(array(
                        'Bucket' => $bucket,
                        'Key' => $key,
                        'Body' => fopen($srcPath, 'rb')));
                        print_r($result);
        } catch (\Exception $e) {
            echo "$e
"
; } } /** * */ public function listObjects(){ try { $bucket = "jiawei-1258859392"; // :BucketName-APPID $prefix = ''; // $marker = ''; // while (true) { $result = $this->cosClient->listObjects(array( 'Bucket' => $bucket, 'Marker' => $marker, 'MaxKeys' => 1000 // , 1000 )); foreach ($result['Contents'] as $rt) { // key echo($rt['Key'] . "
"
); } $marker = $result['NextMarker']; // if (!$result['IsTruncated']) { break; // } } } catch (\Exception $e) { echo($e); } } }