从多个文件上载字段中获取文件名

时间:2011-10-07 06:59:57

标签: javascript jquery

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

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

但是,我怎样才能从这个字段中获取值? 我用的时候:

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

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

我只获得了我选择上传的第一个文件的文件名。有没有办法让我得到一个包含所有文件的数组?

1 个答案:

答案 0 :(得分:8)

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的浏览器,我认为在版本9之前它不支持IE。如果那些旧的浏览器对你很重要,那么最好的选择可能就是使用基于Flash或Java的上传器。