Languages

Menu
Sites
Language
XMLHttpRequest에서 responseType을 arraybuffer로 받을 수 없습니다.

안녕하세요.

앱에서 특정 기능을 사용할 때,

제 서버에 있는 파일을 XMLHttpRequest로 읽어와서 사용하려고 합니다.

그런데 서버에 있는 파일이 텍스트 형태가 아니고 raw 데이터라서 따로 파싱을 해야 하는데,

responseType을 arraybuffer로 지정해서 응답을 처리했더니 invalid data라며 오류가 납니다. (웹 브라우저 등 TV가 아닌 다른 플랫폼에서는 정상 동작합니다)

보안상의 이유로 TV에서 알려지지 않은 외부 파일에 연결 할 수 없게 차단해놓은 것인지요?

Responses

1 Replies
Iqbal Hossain

hi, use this oReq.response instead oReq.responseText 

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";

oReq.onload = function (oEvent) {
  var arrayBuffer = oReq.response; // Note: not oReq.responseText
  if (arrayBuffer) {
    var byteArray = new Uint8Array(arrayBuffer);
    for (var i = 0; i < byteArray.byteLength; i++) {
      // do something with each byte in the array
    }
  }
};

oReq.send(null);