Fine Uploader Concurrent Chunking S3

时间:2016-10-20 22:57:23

标签: amazon-s3 fine-uploader

我一直试图让这个非常好的上传器(刚刚从NPM - 5.12.0-alpha开始)设置为将一些数据推送到S3并且我已经遇到了一些关于分块的问题。我根据Concurrent Chunking中的示例启用了分块,但我没有看到在XHR控制台中上传了多个块。

const fu = require('fine-uploader/lib/s3');
const SA = require('superagent');
let x = new fu.s3.FineUploaderBasic({
  request: {
    endpoint: 'they-taken-mah-bucket.s3.amazonaws.com'
  },
  credentials: {
    accessKey: 'invalid',
    expiration: new Date(),
    secretKey: 'invalid',
    sessionToken: 'invalid'
  },
  objectProperties: {
    bucket: 'they-taken-my-bucket',
    key: 'filename'
  },
  autoUpload: false,
  debug: true,
  callbacks: {
    onComplete: function(){
      moveUpload({from:'active', to:'finished', hash: activeUpload.hash}).then( function() { good(hash); });
    },
    onError: function(id, name, reason, xhrCache){
      moveUpload({from:'active', to:'error', hash: activeUpload.hash}).then( () => bad(new Error('upload error - '+reason)) );
    },
    onProgress: function(id, name, uploaded, total){
        const elapsed = (Date.now() - t.getTime()) / 1000;
        const rate = uploaded / elapsed;
        updateUploadProgress({hash: activeUpload.hash, progress: (100*uploaded/total).toFixed(0), rate: rate});
    },
    chunking: {
      enabled: true,
      concurrent: {
        enabled: true
      }
    },
    maxConnections: 5,
    retry: {
      enableAuto: true,
      maxAutoAttempts: 10
    },
    onCredentialsExpired: function () {
      return fetchCredentials();
    }
  }
});`

我看到的行为:http://recordit.co/z5VnLR63eT

基本上我看到了OPTIONS请求,这很好,并且上传正确启动但我只看到1个出站连接 - 内容类型不是我所期望的,它是多部分形式而不是raw。虽然在这个期望中我可能错了,但我本以为它只是一个原始的垃圾邮件。

任何建议都会受到最高的赞赏。

1 个答案:

答案 0 :(得分:0)

您的选项设置不正确,这就是未启用并发分块的原因。

您在/system/modification/catalog/view/theme/theme547/template/common 部分内定义了chunking选项。将其移出callbacks(以及callbacksmaxConnections)。