2

ここに私のコードの一部があります

xmlhttp.open("GET", theUrl, true);
document.imglive.innerHTML = '<img src="data:image/jpeg,' + xmlhttp.responseText + '"/>';

それはうまくいかないようです。私も試しました

document.imglive.src= xmlhttp.responseText;

どちらも機能しなかった

ここで尋ねられた質問のいくつかを確認しましたが、この問題に役立つ回答はありませんでした。

4

2 に答える 2

3

これらにはbase64を使用してください。最新のブラウザーには、次のbtoaネイティブ関数が役立ちます。

document.imglive.innerHTML = "<img src='data:image/jpeg;base64," + btoa(xmlhttp.responseText) + "'/>";

他のブラウザには、エミュレートされた簡単な実装があります。チェックしてみてください。

PS: オブジェクトを汚染しないでくださいdocument。別の変数または名前空間を使用してください。

于 2012-05-21T14:49:36.347 に答える
2

IE10+ に満足している場合は、 (正しい MIME タイプを取得するための無料サポートを受けるために)xhr.responseType = 'blob'と組み合わせて使用​​できます。window.URL.createObjectURL()

xhr.responseType = 'blob';
xhr.onload = function(response) {
  var url = window.URL.createObjectURL(response);
  document.imglive.src = url; // from your example code
}
xhr.open("GET", theUrl, true);
于 2016-03-09T10:22:37.293 に答える