如何使用xmlhttprequest将文件上传到aws s3

时间:2017-12-21 07:29:56

标签: javascript amazon-s3

如何使用xmlhttprequest将文件上传到s3。我尝试了以下方式,但我得到了错误,如

  

'此操作禁止匿名访问'。

这是我的代码:

const xhr = new XMLHttpRequest();
xhr.open('PUT', "https://region.amazonaws.com/bucket-name/");
xhr.setRequestHeader('X-Amz-ACL', 'public-read');
xhr.setRequestHeader('Content-Type', 'image/png');
xhr.send({
    file: file,
    type: 'image/png',
    name: "myfile_9898_0",
    acl: 'public-read',
    AWSAccessKeyId: 'aws key',
    AWSSecreKeyId: 'scret_key'
});

此代码有什么问题吗?
任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

你拼错了SecretKey。

然而,任何查看此页面的人(假设它在html页面中)都可以窃取您的凭据!把secretKey放在任何地方都是一个非常糟糕的想法 - 你最好用你的秘密在服务器上生成一个'预签名密钥'。您还需要在服务器上设置CORS以允许交叉发布。