Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 AWS S3 SDK:中止正在进行的putObject上载_Javascript_Amazon Web Services_Amazon S3_Aws Sdk - Fatal编程技术网

Javascript AWS S3 SDK:中止正在进行的putObject上载

Javascript AWS S3 SDK:中止正在进行的putObject上载,javascript,amazon-web-services,amazon-s3,aws-sdk,Javascript,Amazon Web Services,Amazon S3,Aws Sdk,我目前正在使用putObject将文件上载到S3存储桶 params = { Key: videoKey, ContentType: file.type, Body: file, ACL: "public-read" }; req = s3.putObject(params).on('httpUploadProgress', function(evt) { // calculate percentage complete var percentC

我目前正在使用putObject将文件上载到S3存储桶

params = {
    Key: videoKey,
    ContentType: file.type,
    Body: file,
    ACL: "public-read"
};

req = s3.putObject(params).on('httpUploadProgress', function(evt) {
    // calculate percentage complete
    var percentComplete = Math.round(evt.loaded / evt.total * 100);

    $cancelBtn.on("click", function(evt) {
      req.abort.bind(req); // doesn't work; returns an error
    });
}).send(function(err, data) {
    // code to handle what happens after upload completes
});
我在多个位置阅读了使用
req.abort()
req.abort.bind(req)
,但这似乎返回了以下错误:

'req.abort is not a function. (In 're.abort()', 'req.abort' is undefined)'
诚然,
'req'
的对象中似乎没有
abort()
函数,所以我想知道这是否只是与AWS SDK的旧版本相关联。如果是这样,正确的处理方法是什么?我在Amazon网站上阅读了一些文档,其中有一个名为abortMultipartUpload的方法,但是这个方法需要一个UploadId,我不知道如何从我的
putObject
函数中检索它。如何在
'send'
回调之前检索带有
UploadID的响应

谢谢你的帮助


-Michael

S3 PUTObject API不是一个多部分请求。当您使用
createmultipartpload
启动多部件请求时,需要或可以使用
abortMultipartUpload
completeMultipartUpload
createmultiportupload
API的响应返回
uploadId

createMultipartUpload(参数={},回调)⇒ AWS.Request启动一个 多部分上载并返回上载ID。注意:启动 多部分上传和上传一个或多个部分,您必须 完成或中止多部分上载以停止充电 用于存储上传的部件

多部分上传步骤:-

1) 多部分上传启动-API
createMultipartUpload

2) 部件上传-API是
upload
uploadPart


3) 多部分上传完成(或中止)-API
abortMultipartUpload
completeMultipartUpload

S3 PUTObject API不是多部分请求。当您使用
createmultipartpload
启动多部件请求时,需要或可以使用
abortMultipartUpload
completeMultipartUpload
createmultiportupload
API的响应返回
uploadId

createMultipartUpload(参数={},回调)⇒ AWS.Request启动一个 多部分上载并返回上载ID。注意:启动 多部分上传和上传一个或多个部分,您必须 完成或中止多部分上载以停止充电 用于存储上传的部件

多部分上传步骤:-

1) 多部分上传启动-API
createMultipartUpload

2) 部件上传-API是
upload
uploadPart

3) 多部分上传完成(或中止)-API
abortMultipartUpload
completeMultipartUpload