[英]How to handle multi file upload in Jquery File Upload properly
我有一個隊列,當用戶選擇文件時,文件將被添加到隊列中,此文件可能會或可能不會一次選擇
問題是,在開始上傳時,每個文件打開單獨的XHR連接和單獨的請求,由於兩個主要原因,這是不可行的,如果用戶選擇100個文件,則將有一百個並發連接!!,如果是連接,則為2。失敗,整個上傳都會失敗,我嘗試了不同的操作,但沒有一個起作用,對此有任何解決方法嗎? 也許限制並發上傳? 我不認為這是一個選擇,因為它僅適用於分段上傳
這是關於我在做什么的一些信息
我沒有使用多部分(使用分塊上傳)。
用戶可以從不同目錄中選擇文件(我的意思是,他/她每次都可以單擊輸入並將文件附加到隊列中)。
這是我正在使用的代碼:
// Upload queue array
var filesList = new Array();
$('#fileupload').fileupload({
url: 'http://example.com/listener',
maxChunkSize: 200000000,
multipart: false,
autoUpload: false,
limitConcurrentUploads: 3,
add: function(e, data) {
// Just for rendering html table
$.each(data.files, function(index, file) {
$('#files table>tbody').append('<tr><td>' + file.name + '</td><td>' + humanFileSize(file.size) + '</td></tr>');
});
// Add to fileList array
filesList.push(data);
}
}).prop('disabled', !$.support.fileInput).parent().addClass($.support.fileInput ? undefined : 'disabled');
// Start upload button
$(document).on('click', '#startup', function() {
filesList.forEach(function(data) {
data.submit();
});
});
// Clear queue button
$(document).on('click', '#clearqueue', function() {
$('#files table>tbody').html('');
// Clear queue
filesList.length = 0;
// Replace file input element
$("#fileupload").replaceWith($("#fileupload").val('').clone(true));
});
有一個sequentialUploads
選項,默認為false。 嘗試將其設置為true
。
sequenceUploads (默認值:false)
將此選項設置為true可以按順序發出所有文件上傳請求,而不是同時發出。
您可以使用類似以下的回調來更新可視隊列(如果有的話):
成功結束單個文件處理隊列的回調。
$('#fileupload').bind('fileuploadprocessdone', function (e, data) {});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.