简体   繁体   English

Angular 2 / Javascript AWS S3 SDK-中止上载onClick

[英]Angular 2/Javascript AWS S3 SDK - Abort Upload onClick

I am working in Angular 2 and have implemented an S3 upload through the javascript AWS S3 SDK. 我正在Angular 2中工作,并且已经通过JavaScript AWS S3 SDK实现了S3上传。 The question I have is how do I abort the upload via a button click? 我的问题是如何通过单击按钮中止上传?

So far I have tried below but I get an 'Undefined is not an object (evaluating 'this.bucket.abort.bind') 到目前为止,我已经在下面尝试过,但是得到了“未定义不是对象(评估” this.bucket.abort.bind”))

My Upload Function: 我的上传功能:

upload(): void {
AWS.config.update({
    region: AWSREGION,
    credentials: new AWS.CognitoIdentityCredentials(
        {
            IdentityPoolId: AWSIDENTITYPOOLID,
            IdentityId: obj.IdentityId,
            Logins: {
                'cognito-identity.amazonaws.com': obj.Token
            }
        }
    )
});
this.awsToken = obj.Token;
// set bucket 
this.bucket = new AWS.S3({params: {Bucket: 'myBucket'}});
// Upload to S3
          this.bucket.putObject(params, (err, data) => {
            if (err) {
                console.log('AWS Error', err);      
            } else {
              // Success 
              console.log('Success');
            }
           });  
}

My Cancel Button 我的取消按钮

 cancel(): void {

    this.bucket.abort.bind(this.bucket);
  }

The following end up working: 最终工作如下:

upload(): void {
AWS.config.update({
    region: AWSREGION,
    credentials: new AWS.CognitoIdentityCredentials(
        {
            IdentityPoolId: AWSIDENTITYPOOLID,
            IdentityId: obj.IdentityId,
            Logins: {
                'cognito-identity.amazonaws.com': obj.Token
            }
        }
    )
});
this.awsToken = obj.Token;
// set bucket 
this.bucket = new AWS.S3({params: {Bucket: 'myBucket'}});
// Set request
this.request = this.bucket.putObject(params);   
// Upload to S3
          this.request.send((err, data) => {
            if (err) {
                console.log('AWS Error', err);      
            } else {
              // Success 
              console.log('Success');
            }
           });  
}

My Cancel Button 我的取消按钮

 cancel(): void {

    this.request.abort();
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM