Uploading multiple files asynchronously by blueimp jquery-fileupload

前端 未结 3 782
逝去的感伤
逝去的感伤 2020-11-30 13:42

I\'m using jQuery File Upload library (http://github.com/blueimp/jQuery-File-Upload), and I\'ve been stuck figuring out how to use the library satisfying the following condi

相关标签:
3条回答
  • 2020-11-30 14:14

    The first POST request triggered by your script gets canceled, because the button submits the form (causing the second POST request).

    Use type="button" on the button if you don’t want it to have submit functionality.

    0 讨论(0)
  • 2020-11-30 14:20

    You have to either add a return false;, as shown below:

    $("button").click(function(){
        file_upload.fileupload('send', {files:filesList} )
        return false;
    })
    

    or specify the type="button" attribute:

    <button type="button">send by fileupload send api</button>
    

    In order to set the formData, use the following:

    $("button").click(function () {
        file_upload.fileupload('send', {
            files: filesList,
            formData: {
                json: JSON.encode({
                    extra: 1
                })
            }
        })
    })
    

    Specifically for JSFiddle, if you want to get the extra value in the response, you have to encode it and assign it to a property named json.

    Here's a working example.

    0 讨论(0)
  • 2020-11-30 14:28

    Solved.

    Fiddle: http://jsfiddle.net/BAQtG/29/

    And js code

    $(document).ready(function(){
        var filesList = [],
            paramNames = [],
            elem = $("form");
        file_upload = elem.fileupload({
            formData:{extra:1},
            autoUpload: false,
            fileInput: $("input:file"),
        }).on("fileuploadadd", function(e, data){
            filesList.push(data.files[0]);
            paramNames.push(e.delegatedEvent.target.name);
        });
    
        $("button").click(function(e){
            e.preventDefault();
            file_upload.fileupload('send', {files:filesList, paramName: paramNames});
        })
    })
    
    0 讨论(0)
提交回复
热议问题