は私のhttpからの画像(image/jpeg
またはimage/png
)を要求する画像を符号化するサーバbase64でなく画像を表示:jQueryのAJAXを介して画像を受信し、jQueryのAJAX要求を経由して切断
$.ajax({
'url': '/my/cool/api/server',
'contentType': 'application/json',
'data': '{"some":1,"cool":2,"request":3,"data":4}',
'type': 'POST'
}).done(function(data) {
// what to do here?
});
サーバが復帰しません正しい画像。 src=data:image/png;base64,...
構文を使用して、返された画像をimg
タグに表示したいとします。私はbase64でイメージをラップするサーバーを望んでいないので、私はJavascriptを介してWebブラウザでそれを行う必要があります。これはどうすればいいですか?コールバックの変数data
は何らかの形で混乱しているようです。 jQueryに生のイメージバイトを返すようにすることはできますか?または、jQueryがbase64でデータをエンコードするようにしますか?
私はすでにバニラJS版を手に入れています。したがって、原理的にはニットが可能です。あなたは、多かれ少なかれ、そこにいる、あなたはすでに何をやったかやってみたい場合は
var xhr = new XMLHttpRequest();
xhr.open('GET', '/my/cool/api/server', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function(e) {
var arr = new Uint8Array(this.response);
var raw = String.fromCharCode.apply(null, arr);
var b64 = window.btoa(raw);
var imgElem = document.getElementById('TODOImg');
imgElem.src = 'data:image/jpeg;base64,' + b64;
};
xhr.send();
サーバがイメージに_URL_を返すようにする方法と、それを 'img'タグの' src'プロパティとして設定する方法について教えてください。ブラウザは自動的に新しい画像を要求して表示します。 – ADyson
この画像のURLはありません。この質問は、サーバーの変更に関するものではありません。それはクライアントの変更についてです。 – HASSeering
OKかなり良いです。私はそれがはるかに簡単なので、それが可能だった場合に示唆する価値があると思った。 – ADyson