Реагирует ли нативная поддержка Blob? - PullRequest
0 голосов
/ 26 апреля 2018

Я работаю над собственным проектом реагирования, в котором мне нужно загрузить изображение в облачные службы, указанные в моей компании (которые я не могу здесь раскрыть), для которых требуется поддержка XMLHttpRequest уровня 2, FileReader и Blob.

var srcData = new Blob([base64Data], {type: 'image/jpeg'});

Я должен использовать вышеуказанную переменную srcData в служебном вызове в качестве параметра, который загрузит файл в облако и предоставит мне обратный вызов с его URL-адресом. Я использую этот URL для обновления пользовательского объекта в моей базе данных.

Но я столкнулся с проблемой с ключевым словом Blob. Потратив некоторое время на изучение, я понял, что при обновлении до версии 0.54 с помощью ключевого слова Blob проблема решена.

Я не могу понять, где я иду не так, и реагирует ли собственная поддержка Blob, XMLHttpRequest или fileReader? Есть ли способ, которым я могу решить эту проблему?

Любое руководство будет высоко ценится. Заранее спасибо.

1 Ответ

0 голосов
/ 26 апреля 2018

Согласно документам

var aBlob = new Blob( array[, options]);

, где массив - это массив ArrayBuffer, ArrayBufferView, Blob, DOMString или смесь любого из таких объектов.

Base64 не содержит ничего из вышеперечисленного, просто представляет двоичные данные в строковом формате ASCII путем перевода их в представление radix-64 .

Поскольку у вас уже есть base64, следовательно, лучший способ сгенерировать blob из него, без включения каких-либо внешних библиотек, будет

export const generateBlob = base64URL => fetch(base64URL)
    .then(response => response.blob())
    .then(response => console.log('Your blob is' + response)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...