使用fileReader javascript保存数据URI数组

时间:2017-02-12 17:22:50

标签: javascript html arrays filereader

我有一个内部有多个图像的输入,也就是说,我有这个:

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
    };

没有用,有什么不对?

0 个答案:

没有答案