1. 程式人生 > >七牛上傳圖片(javascript)

七牛上傳圖片(javascript)

前臺需要載入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圖片壓縮失敗,並且沒有保留大小的圖片壓縮。