从多个文件上传字段获取文件名

Get the file names from multiple file upload field

本文关键字:字段 获取 文件名 文件      更新时间:2023-09-26

我正在尝试使用Jquery编写ajax上传程序。在html中,我可以编写多个上传字段,如:

<input type='file' multiple='multiple' name='files[]'>

但是,我怎么能得到这个字段的值呢?当我使用:

   $('input[type='file']').val();

   $('input[type='file']').attr('value');

我只得到了我选择上传的第一个文件的文件名。有一种方法,我可以得到一个数组包含所有的文件?

HTML5 Files API意味着input将具有files属性。您可以像这样访问它:

var fileList = document.getElementById("yourInput").files;

返回一个FileList,我认为这是一个类似数组的对象,包含用户选择的所有文件,所以你可以像往常一样迭代它:

for(var i = 0; i < fileList.length; i++) {
    //Do something with individual files
}

但是它不能在不支持HTML5的浏览器中工作,而且我认为直到ie9版本才支持它。如果这些旧的浏览器对你来说很重要,你最好的选择可能是使用基于Flash或Java的上传器。