2017-02-21 4 views
0

이것은 비교적 간단한 대답 일 수 있으며, 심각하게 간과 할 수 있습니다.블롭의 내용 읽기 : http : // javascript

Google의 일부 데이터를 패키징하고 blob에서 나에게 다시 보내는 API를 사용하고 있습니다. blob : http://localhost:3001/somenumber과 같은 URL을 제공합니다.

메신저 내 URL이 내 파일이라고 가정합니다. 브라우저에서 수동으로 해당 URL을 누르면 필요한 파일 (데이터의 기본 개체)이 다운로드됩니다. 그러나 실제로 클라이언트 코드/자바 스크립트에서 처리 할 수 ​​있도록 데이터를 출력하도록이 파일을 가져올 수 없습니다. 나는 FileReader 시스템으로 성공했지만 실패했다.

도움이 될 것입니다. 기본적으로, DB 서비스가 제공하는이 얼룩 URL을 가져 와서 그 내용을 읽어서 뷰에 데이터를 출력 할 수 있습니다.

감사합니다.

+0

XMLHttpRequest를 사용해 보셨습니까? –

+0

Lol ... 가끔은 자기 자신을 비웃을뿐입니다. 감사합니다 @ 라메 레몬. 이것은 그 것이다. –

답변

1

당신은 그런 데이터를 읽을 수 있습니다

var req = new XMLHttpRequest(); 
req.open("GET", "http://localhost:3001/somenumber", true); 
req.responseType = "arraybuffer"; 

req.onreadystatechange = function(event) { 
    if (req.readyState == 4 && req.status == 200) { 
    var blob = new Blob([req.response], {type: "application/pdf"}); // or "image/png", or others... 
    var fileURL = URL.createObjectURL(blob); // Create a temp ULR to the data (pdf, image...) 
    location.href = fileURL; // switch location to this new URL 
    } 
}; 

당신은 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Sending_and_Receiving_Binary_Data 좀 걸릴 수 있습니다.

+0

네, 너무 바보예요. 감사. 기본 요청은 그것이 전부였습니다. 고마워, @ BNilsou. –