将输入文件(多个文件)保存到数组 var js,jquery 中

save input file (more than one file) into array var js,jquery

本文关键字:文件 var 数组 js jquery 保存 输入      更新时间:2023-09-26

html Markup:

<form action="" method="post" enctype="multipart/form-data">
    <input id="fileSelect" type="file" id="file" name="files[]" multiple="multiple" accept="image/*" />
    <input type="submit" value="Upload!" onclick='showFileModified();' />
</form>

脚本:

<script type='text/javascript'>
function showFileModified()
{
    var input, file;
    input = document.getElementById( 'fileSelect' );
        file = input.files[0];
        file.lastModifiedDate;
        alert(file.lastModifiedDate);
}
</script>

如果我选择多个文件,比如说 4 个文件。 我希望每个文件的修改日期alert(file.lastModifiedDate)。 我如何在此处使用数组来实现此目的。

我尝试过:

function showFileModified()
{
        var input[], file;
        input = document.getElementById( 'fileSelect' );
        for(var i=0; i<=input.length; i++)
        {
            alert('d');
            file = input.files[i];
            file.lastModifiedDate;
            alert(file.lastModifiedDate);
       }
}
您可以使用

它来获取所有修改的日期值:

function showFileModified(){
    var input = document.getElementById( 'fileSelect' );
    for (var i = 0; i < input.files.length; ++i){
        alert(input.files[i].lastModifiedDate);
    }      
}

input.files 是一个数组,其中列出了所有选定的文件。这就是为什么你需要遍历这个数组(这是通过从 0 循环到 array.length - 1 来实现的)

但是,您应该注意为单个标签使用多个 ID,并且不应使用带有特殊字符的名称:

<input id="fileSelect" type="file" id="file" name="files[]" multiple="multiple" accept="image/*"/>

最好使用这样的东西(你甚至不需要使用名称

<input id="fileSelect" type="file" name="fileSelector" multiple="multiple" accept="image/*" />