Я пытаюсь использовать blob для показа изображения на веб-сайте, но как я могу получить URL-адрес вне onload, чтобы вернуть его в функции?blob image url (javascript)
var xhr = new XMLHttpRequest();
xhr.open("GET", "//fiddle.jshell.net/img/logo.png", true);
xhr.responseType = "arraybuffer";
xhr.onload = function(e) {
var arrayBufferView = new Uint8Array(this.response);
var blob = new Blob([arrayBufferView]);
var urlCreator = window.URL || window.webkitURL;
var imageUrl = urlCreator.createObjectURL(blob);
//window.URL.revokeObjectURL(imageUrl);
};
xhr.send();
Вы должны знать [Как вернуть ответ от асинхронного вызова] (https://stackoverflow.com/questions/14220321/how-do -i-return-the-response-from-a-асинхронный вызов) –
+ вам не нужно требовать массив-буферов, если вы хотите использовать blob, XHR также как тип ответа «blob». – Kaiido