Ответ 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>
. Пример