Fine Uploader 并发分块 S3
Fine Uploader Concurrent Chunking S3
我一直在尝试设置这个非常好的上传器(来自 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 个出站连接 - 内容类型不是我所期望的,它是多部分形式而不是原始形式。虽然我的期望可能是错误的,但我本以为它只是一个原始垃圾箱 post.
如有任何建议,我们将不胜感激。
您的选项设置不正确,这就是未启用并发分块的原因。
您在 callbacks
部分中定义了 chunking
选项。将其移出 callbacks
(连同 maxConnections
和 retry
)。
我一直在尝试设置这个非常好的上传器(来自 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 个出站连接 - 内容类型不是我所期望的,它是多部分形式而不是原始形式。虽然我的期望可能是错误的,但我本以为它只是一个原始垃圾箱 post.
如有任何建议,我们将不胜感激。
您的选项设置不正确,这就是未启用并发分块的原因。
您在 callbacks
部分中定义了 chunking
选项。将其移出 callbacks
(连同 maxConnections
和 retry
)。