我有一个内部有多个图像的输入,也就是说,我有这个:
input id="imagen" onchange="trans()" type="file" name="imgs" multiple="true" class="form-control required" >
我希望trans函数保存一个数组,其中包含数据uris,这样每个图像在数组中都有相应的表示,但是,我的脚本在保存它时遇到了问题,我不知道为什么。
function trans(v) {
blobs=new Array();
var file = document.querySelector('#imagen').files;
for (i = 0; i < file.length; i++) {
reader = new FileReader();
reader.readAsDataURL(file[i]);
reader.onloadend = function () {
blobs[i]=reader.result;
};
}
console.log(blobs[0]);//this not is working
};
编辑:对于评论中的答案,我试过这个:
var blobs=[];
function onload(i) {
return function() { blobs[i]=reader.result; };
}
function trans(v) {
var file = document.querySelector('#imagen').files;
for (i = 0; i < file.length; i++) {
reader = new FileReader();
reader.readAsDataURL(file[i]);
reader.onloadend = onload(i);
}
console.log(blobs[0]);//this not is working
};
没有用,有什么不对?