вставить <img>в HTML, полученный через HTTP POST - PullRequest
0 голосов
/ 25 февраля 2012

Предположим, мне нужно вызвать API-интерфейс RPC HTTP, который требует от клиента HTTP POST (возможно, с файлом) uri, и в случае успеха получается двоичный файл "Content-Type: image / png". Есть ли способ сделать это в html / js и вставить png в документ HTML? Или мне нужно будет предоставить прокси-сервис, поддерживающий HTTP GET?

1 Ответ

0 голосов
/ 25 февраля 2012

Здесь есть ответ, который, похоже, поможет вам. Я сам не знал этого решения, но провел некоторые исследования для вас:

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

Если вы проверяете источник, вы можете увидеть пример того, как отобразить данные base64, полученные из ответа API (параметр, передаваемый в 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);
    }
}

Это может быть хорошей отправной точкой для экспериментов. Его пример выглядит как раз то, что вы пытаетесь сделать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...