【问题标题】:javascript FileReader multiple not workingjavascript FileReader多个不工作
【发布时间】:2017-12-14 12:38:11
【问题描述】:

我在html中使用一个输入来一张一张或多张选择和上传图片。

我想在上传图片之前显示预览,我正在使用 js FileReader。它适用于一张图片,但不适用于多张图片。

$('#fileToUpload').change(function(){
    var file = this.files;
    filepreview(file);
});



function filepreview(files)
{
    var length = files.length;

    for(var i=0 ; i<length ; i++)
    {
            var file = files[i];

            var reader = new FileReader();
            reader.addEventListener("load",function(e){
                $('#pic'+i+'').attr('src' , ''+e.target.result+'');
            });
            reader.readAsDataURL(file);
    }
}

【问题讨论】:

标签: javascript jquery html upload filereader


【解决方案1】:

基本上 i 总是长度,因为事件发生在循环迭代之后:

reader.addEventListener("load",function(e){//async stuff
            $('#pic'+i+'').attr('src' , ''+e.target.result+'');//i = length
});

所以你可能想绑定 i:

reader.addEventListener("load",function(i,e){//take over the bound i
            $('#pic'+i+'').attr('src' , ''+e.target.result+'');
}.bind(this,i));//the magic part

【讨论】:

  • 哦,谢谢你现在正在工作。这真是一个小问题。 ❤️?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 2023-04-03
相关资源
最近更新 更多