javascript 如何使用 AJAX 发送多个文件

62lalag4  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(95)

我有 AJAX 代码发送输入:文件信息,但我有一个问题,程序发送最后一个文件信息,我不能得到有关过去的文件的信息
怎么了?我会很感激你的帮助
HTML表单

<input type="file" name="files[]" id="sss" multiple>
        <div class="bloj"></div>

PHP语言

$nkar = $_FILES['file']['name'];
    $nkar_loc = $_FILES['file']['tmp_name'];
    $flr=$_FILES['file'];
    print_r($flr);
    $cc='';
    for ($i=0; $i < count($nkar); $i++) { 
        
        $location_loc="image/".$nkar[$i];
        move_uploaded_file($nkar_loc[$i],$location_loc);
        $cc.=$location_loc;

    }
    
    echo $cc;

jQuery语言

$('#sss').change(function (){
    // console.log(i, divmm.length)
    var fd = new FormData();
    fd.append('file[]',$(this)[0].files[0]);
        $.ajax({
        url: 'input.php',
        data: fd,
        processData: false,
        contentType: false,
        type: 'POST',
        success:function(res){
            console.log(res)
            $('.bloj').html(res)
        }
    })
})
ecfsfe2w

ecfsfe2w1#

此行:

fd.append('file[]',$(this)[0].files[0]);

只附加一个文件。当你想从文件输入上传multiple文件时,你需要附加所有的文件。

for (let i = 0; i<this.files.length; ++i) { 
    fd.append("file[]", this.files[i]) 
}

相关问题