Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在浏览器中使用javascript sdk在aws s3 bucket中上载多部分文件_Javascript_Amazon Web Services_Amazon S3 - Fatal编程技术网

如何在浏览器中使用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