jquery.fileupload.js 杂记

通过$your_jq_dom.fileupload({},donf:function...,fail:function..., ...)

得到的只是一个支持上传的控件,当然绑定了各种事件.

传参给url, 使用formData, 这里有个缺点,比如想得到打开文件中的文件的路径,是不可能提前知道的,因此传参有很大的局限性.

解答:https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously

通过重写add方法,并给data赋予formData属性即可,如下:

$('#fileupload').fileupload({
    add: function (e, data) {
        $.getJSON('/example/url', function (result) {
            data.formData = result; // e.g. {id: 123}
            data.submit();
        });
    } 
});

  

或者重写submit方法,同样的也是给data添加formData属性即可,如下:

$('#fileupload').fileupload({
    submit: function (e, data) {
        var $this = $(this);
        $.getJSON('/example/url', function (result) {
            data.formData = result; // e.g. {id: 123}
            data.jqXHR = $this.fileupload('send', data);
        });
        return false;
    } 
});

  

=====

实际数据的处理: data.submit可以触发.