因?yàn)殚_發(fā)軟件中上傳圖片谨履、文檔等比較多,考慮使用云存儲(chǔ)奏窑,選擇了騰訊cos导披。開發(fā)步驟如下:
1、在根目錄運(yùn)行 composer require qcloud/cos-sdk-v5
2埃唯、在控制器中引用撩匕,參考文檔使用 require '../vendor/autoload.php',引用不到,直接用use Qcloud\Cos\Client;參考騰訊cos說(shuō)明如下代碼:
// 獲取表單上傳文件 例如上傳了001.jpg
$file = request()->file('image');
//dump($file->getinfo());
$cosClient = new Client(array('region' => 'ap-beijing',
'credentials'=> array(
'secretId' => 'A*******************',
'secretKey' => 'HN****************')));
//bucket的命名規(guī)則為{name}-{appid} 筑凫,此處填寫的存儲(chǔ)桶名稱必須為此格式
$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 代表存儲(chǔ)到cos的路徑
result 有很多返回值滑沧,objecturl是具體的引用網(wǎng)址,可以直接放入數(shù)據(jù)庫(kù)中方便下次引用巍实。
為了安全加入了防盜鏈滓技,在bucket的防盜鏈中設(shè)置白名單 ,加入 *.example.com