如何在浏览器中使用javascript sdk在aws s3 bucket中上载多部分文件
我试过使用这个函数如何在浏览器中使用javascript sdk在aws s3 bucket中上载多部分文件,javascript,amazon-web-services,amazon-s3,Javascript,Amazon Web Services,Amazon S3,我试过使用这个函数 var bucket = new AWS.S3({params: {Bucket: 'mybucket'}}); var params = {Key: file.name, ContentType: file.type}; bucket.createMultipartUpload(params, function (err, data) { if (err) console.log(err, err.stack); // an error occurred e
var bucket = new AWS.S3({params: {Bucket: 'mybucket'}});
var params = {Key: file.name, ContentType: file.type};
bucket.createMultipartUpload(params, function (err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
});
它的getting successful响应包含uploadedid,但我在s3 bucket中找不到该文件。那么,是否有其他方法可以从浏览器中从javascript sdk多部分上传文件??。我正在使用aws cognito进行身份验证。
提前感谢。您使用的密钥是文件名。因此,如果上传正确,文件应该出现在
mybucket/file.name
。此外,您可以在控制台上记录事情,查看是否有任何问题。实际上,这是一个四步过程。您已经调用了第一个Api,还有三个Api需要调用
命令如下:
二,。。
3.
四,
对于以上三个api,您必须使用相同的密钥名(您在第一个api中使用过)和上载id(您从第一个api的响应中获得的id)
在第二个api中,您必须上传您的文件以及您选择的“partnumber”
然后从第三个api调用中,您可以获得为您的文件生成的“TagId”以及您使用的“partnumber”
现在使用这个TagId和partnumber,您必须调用最终的api
这就完成了文件上载。如果使用.upload,它将自动使用post multipart。您必须将s3 bucket cors策略设置为允许POST和HEAD加exposedHeaders ETag