jquery fileupload formData输入名称

时间:2016-06-29 09:59:08

标签: jquery jquery-file-upload

我正在使用jquery fileupload,我想在formData中传递文件的输入名称,我尝试的所有内容都失败了。

我尝试使用this.name但似乎我没有在formData

中访问它
formData : { action:'upload', field:this.name , extensions : 'gif|jpeg|jpg|png'}

我尝试使用数据属性,但在这种情况下我没有收到任何帖子

<input id="input-image2" class="file-upload" type="file" name="image2" 
data-form-data='{ action:'upload', field:image2 , extensions : 'gif|jpeg|jpg|png'}'
>

有谁知道如何将输入名称(在本例中为image2)添加到formData?

fileupload init如下

我需要填写formData的字段参数,输入文件的名称是image2

$('.file-upload').fileupload({
        url: '/myfile.php',

        formData : { action:'upload', field:this.name , extensions : 'gif|jpeg|jpg|png'},

        acceptFileTypes: /(\.|\/)(gif|jpeg|jpg|png)$/i,

        add : function (e, data) { 


            var type=data.files[0].type;
            var size=data.files[0].size;
            var name=data.files[0].name;

            if(type=="image/gif" || type=="image/jpg" || type=="image/jpeg" || type=="image/png") 
            {
                data.submit();
            }
            else 
            {
                //data.submit();
                alert('Please upload only .gif, .jpeg, .jpg .png files');
            }
        },                  
        fail: function(e, data){
            alert(data.jqXHR.responseText);      
        },

        dataType: 'json',
        done: function (e, data) 
        {
            //code here
        },
        progressall: function (e, data) 
        {

            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .progress-bar').css(
                'width',
                progress + '%'
            );


        }
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');

任何帮助appriciated。 感谢

1 个答案:

答案 0 :(得分:0)

只需按input访问id元素,然后使用attr函数获取name属性:

formData : { action:'upload', field:$("#input-image2").attr("name"), extensions : 'gif|jpeg|jpg|png'};