blueimp jquery文件上传processalways没有调用

时间:2015-09-01 12:52:15

标签: jquery-file-upload blueimp

我一直遇到blueimp processalways问题。我的代码是:

    <script>
       $(function () {
       var uploadButton = $('<button/>').addClass('btn btn-primary').prop('disabled',true).text('Processing...').on('click', function () {
var $this = $(this),data = $this.data();
$this.off('click').text('Abort').on('click', function () {
  $this.remove();
  data.abort();
});
console.log("data = ",data);
data.submit().always(function () {
  $this.remove();
});
    });$('#fileupload').fileupload({
dataType: 'json',
singleFileUploads: false,
replaceFileInput : false,
add: function (e, data) {
  console.log("#1 fileuploadadd data = ",data);
  data.context = $('<div/>').appendTo('#files');
  $.each(data.files, function (index, file) {
    var node = $('<p/>').append($('<span/>').text(file.name));
    if(!index){   node.append('<br>').append(uploadButton.clone(true).data(data));}
    node.appendTo(data.context);
    console.log("#2 fileuploadadd data = ",data);
  });      
},processalways: function (e, data) {
    console.log("processalways!");
    var index = data.index, file = data.files[index],node = $(data.context.children()[index]);
    if(file.preview) {
      node.prepend('<br>').prepend(file.preview);}
     if(file.error) {
        node.append('<br>').append($('<span class="text-danger"/>').text(file.error));}
      if(index+1 === data.files.length) {             data.context.find('button').text('Upload').prop('disabled',!!data.files.error);}
               },

我无法理解为什么从不触发过程。我也总是试着总是而不是过程,但没有区别。 当我拥有它时:

    }).on('fileuploadadd',function (e,data) {
    .......       
 }).on('fileuploadprocessalways', function (e,data) {

它正常工作,但我不明白为什么。 另外,有人可以给我一个使用blueimp的formData的例子吗? 提前谢谢

1 个答案:

答案 0 :(得分:0)

我不能给你一个formData的例子,但是对于事件。

根据这个答案:https://stackoverflow.com/a/20491423

如果覆盖添加功能,则必须使用always。 这适合我。