中止上传到 s3 javascript API

Aborting upload to s3 javascript API

我正在使用 Javascript API 将文档上传到 Amazon S3,我想处理上传到 s3 中止的情况。可能是用户关闭浏览器标签或刷新页面(主要是关闭浏览器标签)

有没有一种方法可以处理当用户中止时我可以向我的服务器端代码发送请求的情况s3.upload。

我有以下代码

    let s3Upload = s3.upload(params).on('httpUploadProgress', function(evt) {
      jQuery('.export-progress').html("Progress: "+ evt.loaded + "/" + evt.total);
    }).promise();

    s3Upload.then(function(s3data){
    //success processing
    }, function(err){
    // any error
    });

这方面的任何帮助都将非常有用。非常感谢。

Is there a way i can handle the case where i can send a request to my server side code when user aborts s3.upload.

不是真的。 Beacon API 可用于在用户关闭选项卡时发出请求,但如果出现电池没电、浏览器崩溃、计算机重启等情况呢?

我通常采用以下两种方式之一处理此问题:

  • Configure a notification添加对象时,可以关联数据。
  • 上传成功后(在客户端),执行 post 返回您的 API 以通知它已成功。

请注意,这两种方法都可能会失败,因此如果适合您的用例,您应该有一个 cron 作业或定期清除存储桶中意外项目的东西。