項目需要app上傳圖檔和視訊,直接用了七牛雲!友善快速!
七牛雲開發文檔位址:http://developer.qiniu.com/
下面開始用laravel開發七牛雲的業務!
值得注意的一點是:七牛的上傳token要在用戶端生成!
1.下載下傳七牛的sdk,composer安裝:
php composer.phar require qiniu/php-sdk
不過一般不翻牆的話composer下載下傳比較慢是以直接在七牛的文檔連結裡下載下傳vendor包
下載下傳好放到項目的vendor目錄下面。
2.放到目錄下面,在config下面寫一個配置檔案qiniu.php
将七牛的一些配置sk、ak、bucket等寫到配置檔案内!
return [
‘phpsdk’ => [
‘accessKey’ => env(‘QINIU_ACCESS_KEY’),
‘secretKey’ => env(‘QINIU_SECRET_KEY’),
‘bucket’ => env(‘QINIU_BUCKET’),
‘domain’ => env(‘QINIU_DOMAIN’),
],
];
當然這些常量要在.env配置檔案裡配置好
3.在要使用的控制器裡生成上傳token
public function token(Request request){qn_cof = config(‘qiniu.phpsdk’);//擷取七牛的配置數組
qn=new\Qiniu\Auth( qn_cof[‘accessKey’], qncof[‘secretKey′]);//初始化auth類 pipeline = ‘音頻處理隊列名’;//處理音頻的隊列!
fops=“avthumb/mp4/s/640x360/vb/1.25m”;//将上傳的視訊預處理轉碼為mp4格式。 policy = array(
‘persistentOps’ => fops,‘persistentPipeline′=> pipeline
);
qntoken= qn->uploadToken( qncof[′bucket′],null,3600, policy);//生成上傳token!時效3600s
}
4.将服務端生成的token給到app的用戶端。
app用戶端可以通過sdk去上傳圖檔和視訊到七牛雲了
上傳成功之後會傳回
hash = xxxx;
key = xxxxx;
persistentId = xxxx;
5.用七牛雲上的域名/傳回的key值 就可以在網頁端進行通路了
作為php服務端!将傳回key值存起來就ok!
當然這是最簡單的使用方式!還有很多可以優化和進階的東西!