1

我正在使用blueimp 的 Jquery 文件上传插件。对于添加文件,有许多不同的回调。例如:

$('#fileupload').bind('fileuploaddone', function (e, data) {/* ... */})

我想绑定一个回调,告诉我文件是否已成功删除,但我已经搜索了文档,但找不到任何看起来像这样做的东西。有人知道我该怎么做吗?

更新:我应该说上面的代码只返回上传文件。删除文件不返回任何事件。这就是我想尝试并在 bluimp 的源代码中实现的。

回调的源代码在这里https://github.com/blueimp/jQuery-File-Upload/blob/master/js/jquery.fileupload-ui.js

4

2 回答 2

3

总结前面的评论,回调函数是处理通过事件从服务器接收到的数据的函数fileuploaddone。因此,您将拥有这样的代码:

$('#fileupload').bind('fileuploaddone', callbackfunc); 

// Your callback function
function callbackfunc(e, data) { 
    /* your code, like : if (data.kind === "error") alert(data.message); */ 
}

但是您可以通过匿名函数缩短它:

$('#fileupload').bind('fileuploaddone', function (e, data) {/* your code, like : if (data.kind === "error") alert(data.message); */})

编辑

对于删除,回调可以与事件绑定fileuploaddestroy(参见此页面:BlueImp 选项)。

于 2012-11-27T10:34:01.533 回答
1

如果有人还在寻找这个,我通过将 jquery.fileupload-ui.js 文件中“destroy”函数中的“removeNode”函数声明更改为:

removeNode = function (d) {
    that._transition(data.context).done(function () {
        $(this).remove();
        that._trigger('destroyed', e, d);
    });
};

然后只需为“fileuploaddestroyed”添加事件,数据将包含服务器响应而不是原始表单数据

于 2020-07-21T22:38:23.813 回答