簡體   English   中英

如何正確處理Jquery File Upload中的多文件上傳

[英]How to handle multi file upload in Jquery File Upload properly

我有一個隊列,當用戶選擇文件時,文件將被添加到隊列中,此文件可能會或可能不會一次選擇

問題是,在開始上傳時,每個文件打開單獨的XHR連接和單獨的請求,由於兩個主要原因,這是不可行的,如果用戶選擇100個文件,則將有一百個並發連接!!,如果是連接,則為2。失敗,整個上傳都會失敗,我嘗試了不同的操作,但沒有一個起作用,對此有任何解決方法嗎? 也許限制並發上傳? 我不認為這是一個選擇,因為它僅適用於分段上傳

這是關於我在做什么的一些信息

  1. 我沒有使用多部分(使用分塊上傳)。

  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可以按順序發出所有文件上傳請求,而不是同時發出。

您可以使用類似以下的回調來更新可視隊列(如果有的話):

fileuploadprocessdone

成功結束單個文件處理隊列的回調。

$('#fileupload').bind('fileuploadprocessdone', function (e, data) {});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM