多文件上传带有扩展名的jquery ajax

时间:2016-12-02 08:55:27

标签: javascript jquery ajax

我在使用jquery / ajax上传多个文件上传时遇到问题。

我的问题是,当我尝试提交带有png或jpg文件的文件时,它甚至没有提交,它会提醒请上传文件,即使我已经放了文件。

我应该怎么做才能进入我的其他声明。因为我试图删除我的条件我只是把ajax和它工作,并把我的数据库。但是当我提出一个具有适当文件扩展名的条件时,即使我已经将jpg或png文件仍然存在,它也会提醒我们上传文件。

这是我的代码

HTML

 <!-- MULTIPLE UPLOAD FORM -->
 <h1>Multiple File Upload</h1>
<form id="multiple" method="POST" enctype="multipart/form-data">

    <input type="file" id="file" name="file[]" multiple />
    <input type="submit" id="multBtn" value="Upload File">
    </br>
</form>

Jquery的

$("#multBtn").on('click',function(e){
e.preventDefault();
var imgData = document.getElementsByName('file')[0]; 
var imageUploadPath = imgData.value;

if(imageUploadPath == ''){ // user did not upload anything
    alert('Please Upload File');
}
else{
    //user uploaded a file
    var Extension = imageUploadPath.substring(imageUploadPath.lastIndexOf('.')+1).toLowerCase();
    if(Extension == "png" || Extension == "Jpeg" || Extension == "jpg"){
        $.ajax({
        url: '/uploadMultipleImg',
        type: 'POST',
        data: new FormData($(this).parents('form')[0]),
        cache: false,
        contentType: false,
        processData: false,
        success: function(data){

        },
        });
        return false;
    }   }

1 个答案:

答案 0 :(得分:0)

要检查文件是否被选中,请使用:

var fileUpload = $("#file").get(0);
var files = fileUpload.files;

然后循环遍历这样的文件:

for (var i = 0; i < files.length; i++) {
    //code
}

更改文件输入名称并使其与ID相同。

<input type="file" id="file" name="file" multiple />

您可以使用ajax查看有关文件上传的this教程,这将有所帮助。