Amazon S3:从AngularJS上传文件

时间:2014-07-15 16:22:13

标签: angularjs amazon-s3

我使用aws-sdk生成了预先签名的PUT URL。然后我将它传递到前端,我使用表单控件上传文件。我解析预先签名的url来获取像AWSAccessKeyId,Signature等标记,并创建一个名为postData的JSON对象。然后我使用Angular $ http服务来调用带有预签名URL的发布请求。但是,当我这样做时,我从S3收到403错误,说这是禁止的。我在S3上启用了CORS并允许GET,PUT和POST请求。任何人都可以帮助使用需要在Angular中使用的代码段。

var postData = {
    AWSAccessKeyId: parms.AWSAccessKeyId[0],
    'x-amz-acl': parms['x-amz-acl'][0],
    Signature: parms.Signature[0],
    Expires: parms.Expires[0],
    'Content-Type': parms['Content-Type'][0],
    file: file,
    key: key
};
$http.post(preSignedPostUrl, postData)
    .success(function(data) {
        console.log('success');
    })
    .error(function(data) {

    });

0 个答案:

没有答案