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

Ein*_* He 5 javascript jquery

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

<input type='file' multiple='multiple' name='files[]'>
Run Code Online (Sandbox Code Playgroud)

但是,我怎样才能从这个领域获得价值?我用的时候:

   $('input[type='file']').val();
Run Code Online (Sandbox Code Playgroud)

要么

   $('input[type='file']').attr('value');
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*ice 8

在HTML5文件API意味着,input将有一个files属性.您可以像这样访问它:

var fileList = document.getElementById("yourInput").files;
Run Code Online (Sandbox Code Playgroud)

返回a FileList,我相信它是一个类似于数组的对象,包含用户选择的所有文件,因此您可以正常迭代它:

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

但它不适用于不支持HTML5的浏览器,我认为它不会在IE版本9中得到支持.如果那些旧的浏览器对你很重要,最好的办法就是使用Flash或Java基于上传者.