请原谅我用如此愚蠢的贴代码的形式提问,因为的逻辑太过简单(使用了sdk的代码),无法用更为简洁优雅的描述方式。我使用npm安装了qiniu的node.js版本做文件上传测试:代码如下:
uploadtest.js:
var qiniu = require('qiniu');
var path = require('path');
qiniu.conf.ACCESSKEY = "my-access-key";
qiniu.conf.SECRET_KEY = "my-secret-key";
var bucket = '账号下一个公有的空间名名称';
var imageFile = path.join(__dirname, "abc.png");
//该文件可以获取
function uptoken(bucketname) {
var putPolicy = new qiniu.rs.PutPolicy(bucketname);
return putPolicy.token();
}
// 返回值为<PLEASE APPLY YOUR ACCESS KEY>:TKmc4yhHf2AJQvOYG...
function uploadFile(localFile, key, uptoken) {
var extra = new qiniu.io.PutExtra();
qiniu.io.putFile(uptoken, key, localFile, extra, function (err, ret) {
if (!err) {
// 上传成功, 处理返回值
console.log(ret);
console.log(ret.key, ret.hash);
// ret.key & ret.hash
} else {
// 上传失败, 处理返回代码
console.log(err);
}
});
}
var token = uptoken(bucket);
var key = Math.random() + 'abc.png';
uploadFile(imageFile, key, token);
我使用node uploadtest.js
调用这个脚本,返回值却是:
{ error: 'bad auth' }
undefined undefined
P.S. 最近七牛的版本auth这部分实现逻辑有变化,是不是和这个有关系?
accrsskey 拼写错误