七牛上傳圖片(javascript)
阿新 • • 發佈:2019-01-05
前臺需要載入2個js檔案
plupload.full.min.js
qiniu.min.js
七牛js是基於plupload所有支援plupload的配置引數例如resize通過壓縮圖片尺寸壓縮圖片
七牛js的使用可以從官網看http://developer.qiniu.com/code/v6/sdk/javascript.html#api-reference
個人使用經驗
uptoken從後臺獲取(php)
相關配置引數如下
uptoken_url: ‘/index.php?r=upload/get-token’
後臺php則是通過qiniu php-sdk生產uptoken
使用composer下載qiniu/php-sdk
php使用AKSK組成uptoken
public function actionGetToken() { date_default_timezone_set(TIMEZONE); $bucket = Yii::$app->request->get('bucket', QINIU_BUCKET); $key = Yii::$app->request->get('key'); $accessKey = QINIU_AK; $secretKey = QINIU_SK; $auth = new Auth($accessKey, $secretKey); $token = $auth->uploadToken($bucket, $key); \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return ['uptoken'=>$token]; } public function actionGetDomain() { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return ['domain'=>QINIU_DOMAIN]; }
js控制元件引數結合plupload屬性參考http://www.cnblogs.com/2050/p/3913184.html
使用經驗:1,檔案格式限制filters : [ {title : “image”, extensions : “jpg,jpeg,png,bmp,gif,raw”} ],在監聽’Error’: function(up, err, errTip) 方法中可獲得錯誤資訊err.message == ‘File extension error.’
殘留疑問:plupload 的resize只能通過尺寸壓縮,7M圖片壓縮失敗,並且沒有保留大小的圖片壓縮。