如何将多个文件直接上传到Amazon S3?

时间:2012-01-04 15:09:49

标签: node.js amazon-s3 plupload

我正在尝试使用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');

我做错了吗?

1 个答案:

答案 0 :(得分:1)

如果我是你,我会使用一个可以与Amazon S3通信的库。自从我写这篇文章以后,我会推荐AwsSum,但那里还有其他人。

另请查看示例,以便了解如何操作: