Бинарное изображение, загруженное с сервера на изображение с помощью javascript
Я загружаю jpeg-образ с моего сервера в двоичном формате через XMLHttpRequest (мне это нужно). Он не закодирован base64.
Можно ли превратить его в объект img с помощью javascript?
Спасибо
Ответ 1
Если для символьной кодировки XMLHttpRequest установлено значение то, что не изменит двоичные данные, или у вас есть установить тип ответа, вы можете запустить .responseText через btoa (помещая его в base64 и позволяя назначать его как URI данных) или доступ .response для двоичных данных, соответственно.
Предполагая, что ваш экземпляр имеет имя xhr, и вы используете метод charset до xhr.send, но после xhr.open do
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);