var qiniu = require('qiniu');
var path = require('path');
qiniu.conf.ACCESS_KEY = "...AK...";
qiniu.conf.SECRET_KEY = "...SK...";
var bucket = "test-bucket";
var generatedToken = uptoken(bucket);
var localFile = path.join(__dirname, "test.txt");
var key = new Date().getTime();
var extra = new qiniu.io.PutExtra();
qiniu.io.putFile(generatedToken, key, localFile, extra, function(err, ret) {
if(!err) {
console.log(err);
} else {
console.log(ret);
}
});
function uptoken(bucketName) {
var putPolicy = new qiniu.rs.PutPolicy(bucketName);
return putPolicy.token();
}
报的错误:
buffer.js:194
this.parent = new SlowBuffer(this.length);
^
TypeError: Bad argument
at new Buffer (buffer.js:194:21)
at FormStream.field (E:\NodeJs\QiniuTest\node_modules\qiniu\node_modules\form
stream\lib\formstream.js:135:16)
at getMultipart (E:\NodeJs\QiniuTest\node_modules\qiniu\qiniu\io.js:60:10)
at put (E:\NodeJs\QiniuTest\node_modules\qiniu\qiniu\io.js:45:14)
at E:\NodeJs\QiniuTest\node_modules\qiniu\qiniu\io.js:96:5
at fs.js:271:14
at Object.oncomplete (fs.js:107:15)
1 ak、sk、bucket、文件路径等均检查过是正确的;
2 一开始以为是文件太大的原因(一个用程序生成的10M大小的文件,内容为可显示的随机ascii字符),就创建了一个只有两句话的文本文档,结果还是给的上面这个提示。
3 经过检查,程序运行到qiniu.io.putFile那一步出错。
4 我发现把key改成其他其他形式(非时间戳的形式)就不会出现上面的错误。
5 然后问题来了,出现了新的错误:
error:
{ [RequestError: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
name: 'RequestError'
}
似乎是连接不正确,能麻烦提供下 sdk 版本和 测试代码么?