Ответ 1
Чтобы извлечь данные из Blob, вам понадобится FileReader.
var reader = new FileReader();
reader.onload = function() {
alert(reader.result);
}
reader.readAsText(blob);
У меня есть строка, которую я назвал Blob():
var mystring = "Hello World!";
var myblob = new Blob([mystring], {
type: 'text/plain'
});
mystring = "";
Как мне вернуть строку?
function getBlobData(blob) {
// Not sure what code to put here
}
alert(getBlobData(myblob)); // should alert "Hello World!"
Чтобы извлечь данные из Blob, вам понадобится FileReader.
var reader = new FileReader();
reader.onload = function() {
alert(reader.result);
}
reader.readAsText(blob);
Если браузер поддерживает его, вы можете пройти через URI блога и XMLHttpRequest
function blobToString(b) {
var u, x;
u = URL.createObjectURL(b);
x = new XMLHttpRequest();
x.open('GET', u, false); // although sync, you're not fetching over internet
x.send();
URL.revokeObjectURL(u);
return x.responseText;
}
Тогда
var b = new Blob(['hello world']);
blobToString(b); // "hello world"
@joey спросил, как обернуть ответ @philipp в функцию, поэтому вот решение, которое делает это в современном Javascript (спасибо @Endless):
const text = await new Response(blob).text()