2012-01-04 185 views
4

我正在嘗試使用Node.js獲取Amazon S3 Plupload example。不過,到目前爲止,我所能得到的是Error #2049。我不確定我做錯了什麼。我已經上傳了crossdomain.xml文件。如何將多個文件直接上傳到Amazon S3?

這是我的政策文件和簽名:

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

如果我是你,我會使用一個已經可以與Amazon S3交談的庫。自從我寫這篇文章以來,我會推薦AwsSum,但其他人也有。

而且看一看的例子,所以你可以看到做什麼:

+0

注:AwsSum現在位置爲:HTTPS: //github.com/awssum/ - 它現在有一個插件架構,所以S3位於https://github.com/awssum/awssum-amazon-s3/ – chilts 2013-04-05 15:38:42

相關問題