七牛上传图片(javascript)

来源:互联网 发布:python保存文件 编辑:程序博客网 时间:2024/05/31 19:45

前台需要加载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];}

修改sdk来修改上传策略
qiniu/php-sdk/src/Qiniu/Auth.php 参数policyFields
上传策略,参数规格详见
http://developer.qiniu.com/docs/v6/api/reference/security/put-policy.html

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图片压缩失败,并且没有保留大小的图片压缩。

0 0