Подтвердить что ты не робот

Бинарное изображение, загруженное с сервера на изображение с помощью javascript

Я загружаю jpeg-образ с моего сервера в двоичном формате через XMLHttpRequest (мне это нужно). Он не закодирован base64.

Можно ли превратить его в объект img с помощью javascript?

Спасибо

4b9b3361

Ответ 1

Если для символьной кодировки XMLHttpRequest установлено значение то, что не изменит двоичные данные, или у вас есть установить тип ответа, вы можете запустить .responseText через btoa (помещая его в base64 и позволяя назначать его как URI данных) или доступ .response для двоичных данных, соответственно.


Предполагая, что ваш экземпляр имеет имя xhr, и вы используете метод charset до xhr.send, но после xhr.open do

xhr.overrideMimeType("text/plain; charset=x-user-defined");

тогда, когда вы 200 OK

var dataURI = 'data:image/jpeg;base64,' + btoa(xhr.responseText);

Что вы можете установить как src <img>.


Снова предполагается xhr, на этот раз .response метод; между .open и .send,

xhr.responseType = "arraybuffer";

Тогда при 200 OK

var arrayBufferView = new Uint8Array(xhr.response), // can choose 8, 16 or 32 depending on how you save your images
    blob = new Blob([arrayBufferView], {'type': 'image\/jpeg'}),
    objectURL = window.URL.createObjectURL(blob);

Что вы можете установить как src <img>. Пример