У меня есть очередь, когда пользователь выбирает файлы, файлы будут добавлены в очередь, эти файлы могут или не могут быть выбраны сразуКак обрабатывать загрузку нескольких файлов в JQuery Загрузка файлов правильно
Проблема заключается в том, что при начальной загрузке каждый файл открывает отдельное соединение 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));
});
спасибо, но я не хочу последовательную загрузку, я хочу загрузку одновременных соединений, но ограничение активных соединений (например, limitConcurrentUploads). И вы считаете, что «Параметры обработки файлов» - лучшее решение для моего обработчика очереди? (вместо массива «fileList», который используется сейчас) – Mojbala
Я не понимаю, потому что для этого нужно работать 'limitConcurrentUploads'. это не работает для u? – p1100i
no not working :-(, я не знаю почему, но я думаю, проблема заключается в отправке файлов foreach для отправки MY queue, и если бы я нашел решение для очереди на обработку вместо массива fileList, может быть '' 'limitConcurrentUploads '' 'отлично работать ... – Mojbala