카테고리 없음

[자바 스크립트] JavaScript FileReader의 액세스 요소

행복을전해요 2021. 1. 25. 18:55

load이벤트 를 처리해야 합니다 FileReader. 핸들러에서 reader.result또는 액세스하십시오 this.result.

reader.onload = function() {
    var contents = this.result;
    };
    

파일 읽기는 비동기 작업입니다. 따라서 FileReader각 파일에 대해 별도의 파일 을 만들어야 합니다. 동일한을 재사용하려면 루프를 FileReader사용할 수 없습니다 for. 대신 현재 파일이 처리 될 때까지 다음 파일을 읽을 때까지 기다려야합니다.

-------------------

테스트되지 않았지만 작동해야한다고 생각합니다. :)

var file = document.getElementById('element-id').files;
var fr = new FileReader();
var storeBlobs = [];
fr.onload = function(e) {
  storeBlobs.push(e.target.result);
  };
  for(var i = 0, l = file.length; i < l; i++) {
    var content = fr.readAsText(file[i]);
    }
    

File은 onload 메서드를 사용하여 FileReader 개체를 통해 조작 할 수있는 개체 배열을 반환합니다. 사용자가 둘 이상의 파일을로드하면 모든 파일을 처리하고 for 루프를 사용하여 처리합니다. 이 코드는 테스트되지 않았지만 작동해야 함을 강조합니다.

사용자가 하나의 파일 만로드한다고 가정하면 다음과 같이 코드의 첫 줄을 다음과 같이 대체하여 파일 객체를 만들 수 있습니다.

var file = document.getElementById('element-id').files[0];



출처
https://stackoverflow.com/questions/22019881