Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

HTML5 파일 API readAsBinaryString은 디스크에 있는 파일보다 훨씬 크고 다른 파일을 읽습니다.


파일을 바이너리 문자열로 읽고 multipart/form-data 요청을 수동으로 구성하는 경우 이 문제가 발생할 수 있습니다.

xhr.send(File)를 시도하고 사용하고 모든 목록 항목이 이미 생성되었을 때 발생하는 xhr 진행 이벤트를 해결해야 합니다.

예시

다음은 업로드 기능입니다 -

function display(url, files) {
   var myForm = new FormData();
   for (var j = 0, file; file = files[j]; ++j) {
      myForm.append(file.name, file);
   }
   var xhr = new XMLHttpRequest();
   xhr.open('POST', url, true);
   xhr.onload = function(e) { ... };
   xhr.send(formData);
}