我正在尝试使用Node.js来使用Amazon S3 Plupload example。但是,到目前为止,我所能得到的只是Error #2049
。我不确定我做错了什么。我上传了crossdomain.xml文件。
这是我的政策文件和签名:
var crypto = require('crypto');
var s3 = {}
s3.bucket = 'BUCKET';
s3.accessKeyId = 'ACCESS_KEY';
s3.aws_secret_key = 'SECRET_KEY';
s3.policy = JSON.stringify({
'expiration': '2012-10-01T00:00:00Z',
'conditions': [
{'bucket': s3.bucket },
{'acl': 'private'},
['starts-with', '$key', ''],
['starts-with', '$Content-Type', ''],
['starts-with', '$name', ''],
['starts-with', '$Filename', ''],
{"success_action_status" : "201"}
]});
s3.policy = new Buffer(s3.policy).toString('base64');
s3.signature = crypto.createHmac('sha1', s3.aws_secret_key).update(s3.policy).digest('base64');
我做错了吗?
答案 0 :(得分:1)
如果我是你,我会使用一个可以与Amazon S3通信的库。自从我写这篇文章以后,我会推荐AwsSum,但那里还有其他人。
另请查看示例,以便了解如何操作: