Я получаю фото с моего сервера. Я знаю, что сервер отправляет blob
, а большой двоичный объект - правильный . (сервер показывает байты).
На клиенте я пытаюсь получить это blob
:
function createFiles(url){
fetch('https://....jpg', {
method: 'POST',
headers: { Accept: 'application/json'}
})
.then(response => response.body)
.then(body => {
console.log(body); //** print a streamable object
const reader = body.getReader();
return new ReadableStream({
start(controller) {
return pump();
function pump() {
return reader.read().then(({ done, value }) => {
// When no more data needs to be consumed, close the stream
if (done) {
controller.close();
return;
}
// Enqueue the next data chunk into our target stream
controller.enqueue(value);
return pump();
});
}
}
})
})
.then(stream => new Response(stream))
.then(response => response.blob())
.then(blob => console.log(blob)) // ** print an empty blob size of 2 .
.catch(err => console.error(err));
}
Если я печатаю body
сразу, я вижу объект, который равен ReadableStream
. (заблокировано: ложь)
Когда я печатаю blob
в конце, я получаю пустой blob
, который имеет type = ""
и size
= 2
.
Но это предположительно фотография.
Как я могу получить эту каплю из fetch
?