使用FormData多个输入上传图像

时间:2017-09-12 21:11:41

标签: php ajax upload form-data

如何将FormData与多个文件输入一起使用?

<input type="file" id="file1">

<input type="file" id="file2">

<input type="file" id="file3">

1 个答案:

答案 0 :(得分:1)

现在html5支持在一个输入文件中上传多个文件!如果您想在没有点击的情况下开始上传自动,则应该通过onchange方法进行。从ajax,您必须使用new FormData()

upload.php的

<input type="file" id="files" name="filefield" multiple="multiple">
<script type="text/javascript">
$("#files").on("change",function(){
    var ajaxData = new FormData();
    var obj = $(this)[0];
    $.each(obj.files,function(i,file){
        ajaxData.append("file['"+i+"']",file);
    });
    $.ajax({
        url :'index.php',
        data: ajaxData,
        contentType: false,
        processData: false,
        dataType: 'json',
        type:"POST",
        success : function() {

        }
    });
})

index.php

<?php
  var_dump($_FILES);
?>