Blueimp为多个输入添加了上传触发器

Blueimp adding upload trigger to multiple inputs

本文关键字:触发器 添加 输入 Blueimp      更新时间:2023-09-26

我有两个输入与type="file"在我的页面像这样

<input class="form-control" type="file" id="uploadImageFileSingle"> <br>
<input id="fileupload" type="file" name="files[]" multiple>

第一个输入是上传单个文件的正常输入。第二个输入由blueimp用于上传多个文件,并像这样初始化:

$('#fileupload').fileupload({
    url: url,
    dataType: 'json',
    ....
})

一切正常工作,除了这一件事:当我添加一个文件到第一个输入时,它正在触发blueimp的fileuploadadd方法,该文件被添加到blueimp队列中待上传。我不明白这是怎么发生的。

我如何调整blueimp拾取的输入?

如果有按钮

<button id="upload_btn">Multiple Upload</button>

你可以试试

$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) {
    var that = this;
    $.blueimp.fileupload.prototype.options.add.call(that, e, data);
    $("#upload_btn").on('click', function () {
        data.submit();
    });
},
});

也许它控制了加载多个文件的更好方式

这里有一个解决方法:

$("#uploadImageFileSingle").off() // removes all handlers from first input

请注意,这将从这个输入元素中删除所有处理程序,但它对我有效,因为它也删除了由blueimp添加的处理程序(仍然无法找出添加的地方!)。