我的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的值,如果我循环遍历此数组,为什么我无法访问该值?我需要在外部访问此数组,除了文件值之外,还要向该数组添加更多项。