如何在reader.onload方法之外访问FileReader元素

时间:2017-05-17 04:16:28

标签: javascript html dom file-upload filereader

我的html文件中有文件上传选项

<input type="file" id="myFile1">
<input type="file" id="myFile2">

我在Javascript中使用FileReader并将值推送到数组中。这里的files数组具有从文件输入html中读取的文件的所有值。

 var count = files.length;
  var formValues= []; 

    var reader = new FileReader();

    reader.onload = (function(myfile) {
      return function(event) {
        formValues.push(event.target.result); 
      }
    })(file);
    reader.readAsDataURL(file);
  }

这里的值被添加到数组formValues中。现在我需要对此数组进行一些其他修改并将其发送到控制器。

我循环遍历formValues以访问在reader.onload中设置的文件值。

for (var i = 0; i < formValues.length; i++)
{
   console.log (formValues[i]);
}

如果我尝试访问此值,它不会进入循环内部,但如果我在浏览器中设置了断点,那么它将进入循环内部。我知道,为了使用formValues,我应该在reader.onload方法中使用它。由于formValues具有file的值,如果我循环遍历此数组,为什么我无法访问该值?我需要在外部访问此数组,除了文件值之外,还要向该数组添加更多项。

0 个答案:

没有答案