2017-02-21 7 views
0

これは比較的簡単な答えかもしれませんが、私はそれを見落としているかもしれません。ブロブの内容を読む:http:// javascript

私のデータの一部をパッケージ化し、それをblobの私に送り返すAPIを使用しています。それはblob:http://localhost:3001/somenumberのようなURLを提供します。

私はこのURLが私のファイルがどこにあると仮定しますか?ブラウザで手動でURLを押すと、必要なファイル(基本的なデータオブジェクト)がダウンロードされます。しかし、私はクライアントコード/ javascriptでそれを扱うことができるように、実際にこのファイルを出力するようには見えません。私はFileReaderシステムを使いこなしましたが、成功しませんでした。

助けがあれば助かります。基本的には、DBサービスが私に提供するこのBLOB URLを取得し、その内容を読み込んでそのデータをビューに出力することができます。

ありがとうございます!

+0

XMLHttpRequestを使用してみましたか? –

+0

笑...時々あなたは自分のことを笑ってしまいます。ありがとう@ラメレモン。これはそれだった。 –

答えて

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。 –

関連する問題