天天看點

laravel + qiniu 圖檔音頻上傳存儲

項目需要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!

當然這是最簡單的使用方式!還有很多可以優化和進階的東西!