2012-02-25 1 views
0

クライアントにHTTP POST(潜在的にファイルを含む)にURIを要求するRPC HTTP APIを呼び出す必要があると仮定し、成功すると "Content-Type:image/png "バイナリです。私はhtml/js内でこれを行うことができ、HTML文書にpngを挿入する方法はありますか?または、HTTP GETをサポートするプロキシサービスを提供する必要がありますか?<img>をHTTP POSTで取得したhtmlで挿入する

答えて

0

こちらの回答が参考になります。私はこのソリューションを自分自身を知っているが、あなたのためにいくつかの研究を行なったしませんでした:

http://blog.calyptus.eu/tags/binary-javascript/

あなたがソースをチェックアウトする場合は、APIレスポンスからあなたが得るbase64でデータを表示する方法の例を見ることができます(パラメータはここでshow()に渡されます)

function show(data){ 
var png = new PNG(data); 
var img = document.getElementById('image'), limg = document.getElementById('largeimage'); 
document.getElementById('nativeimage').src = 'data:image/png;base64,' + data; 

img.innerHTML = ''; 
limg.innerHTML = ''; 
img.style.width = png.width + 'px'; 
img.style.height = png.height + 'px'; 

limg.style.width = (png.width * 3) + 'px'; 
limg.style.width = (png.height * 3) + 'px'; 

var line; 
while(line = png.readLine()) 
{ 
    for (var x = 0; x < line.length; x++){ 
     var px = document.createElement('div'), px2 = document.createElement('div'); 
     px.className = px2.className = 'pixel'; 
     px.style.backgroundColor = px2.style.backgroundColor = '#' + line[x].toString(16).padRight('0', 6); 
     img.appendChild(px); 
     limg.appendChild(px2); 
    } 
} 

これは実験の出発点となるかもしれません。彼の例はまさにあなたがしようとしているように見える

+0

その男は実際にJavascriptでpngレンダラを書いた。すごい。しかし、サーバは、base64でエンコードされたものではなく、バイナリPNGを送信します。また、私はこれがうまくスケールされ、CSSなどでうまく動作するかどうか疑問に思っています。 – Jeroen

関連する問題