Ответ 1
Посмотрите статью MDN на XMLHttpRequest.
Если вы установите ответ XMLHttpRequest на ArrayBuffer, вы можете сделать следующее:
var xhr = new XMLHttpRequest();
xhr.open("GET", requestUrl);
xhr.responseType = "arraybuffer";
xhr.onload = function () {
if (this.status === 200) {
var blob = new Blob([xhr.response], {type: "application/pdf"});
var objectUrl = URL.createObjectURL(blob);
window.open(objectUrl);
}
};
xhr.send();
Вариант 2:
Вы можете использовать Blob как ответ XMLHttpRequest. А затем, возможно, сохраните его в FileSystem (API FileSystem)
Он может выглядеть так:
var xhr = new XMLHttpRequest();
xhr.open("GET", requestUrl);
xhr.responseType = "blob";
xhr.onload = function () {
onDownloaded(this);
};
xhr.send();
Вариант 3:
Если вы хотите только загрузить и "показать" изображения, вы можете легко сделать это так:
var img = new Image();
// add the onload event before setting the src
img.onload = function() {
onImageDownloaded(img);
}
// start the download by setting the src property
img.src = requestUrl