2012-01-04 3 views
4

Я пытаюсь получить Amazon S3 Plupload example, работающий с Node.js. Тем не менее, пока все, что я смог получить, это 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

Смежные вопросы