我使用以下插件直接在AWS S3上上传大文件而不使用任何服务器。 https://github.com/blueimp/jQuery-File-Upload/wiki/Upload-directly-to-S3
它适用于小文件,但是当我使用" maxChunkSize"参数如其文档中所述,它可以工作,但它取代了以前的部分。
假设有一个100 MB的文件,并且我成功上传后使用10MB块上传它我在S3存储桶上只收到10 MB。
请帮我解决这个问题。
这是使用
的JS代码$('#file_upload').fileupload({
autoUpload: false,
maxChunkSize: 10000000, // 10 MB => 10000000
add: function (e, data) {
$("#upload_btn").off('click').on('click', function (evt) {
evt.preventDefault();
data.submit();
});
},
send: function (e, data) {
// show a loading spinner because now the form will be submitted to amazon,
// and the file will be directly uploaded there, via an iframe in the background.
$('#loading').show();
},
fail: function (e, data) {
console.log('fail');
console.log(data);
},
done: function (event, data) {
// here you can perform an ajax call to get your documents to display on the screen.
//alert('complete');
// hide the loading spinner that we turned on earlier.
$('#loading').hide();
},
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('.progress').css('width', progress + '%');
}
});
答案 0 :(得分:1)
当我查看互联网上提供的blueimp文档时,它无法将文件从浏览器上传到AWS S3。
有一个更好的库可用于直接从浏览器上传文件到块上的AWS S3。
https://github.com/TTLabs/EvaporateJS
我已经用2 GB文件对其进行了测试,并且工作正常。
我会在几天内添加一个工作示例。