Looping through files for FileReader, output always contains last value from loop

后端 未结 6 1473
花落未央
花落未央 2020-11-30 20:04

I\'m using FileReader API to read files on local.



        
6条回答
  •  孤街浪徒
    2020-11-30 20:47

    Instead of using var, use let as the declared variable only be used in one loop.

    for (let i = 0; i < files.length; i++)  //for multiple files
        {
            let f = files[i];
            let name = files[i].name;
            alert(name);
            let reader = new FileReader();  
            reader.onload = function(e) {  
                // get file content  
                let text = e.target.result;
                let li = document.createElement("li");
                li.innerHTML = name + "____" + text;
                ul.appendChild(li);
            }
            reader.readAsText(f,"UTF-8");
        }
    

提交回复
热议问题