假设我需要调用RPC HTTP api,该API需要客户端HTTP POST(可能带有文件)uri,并且成功导致“Content-Type:image / png”二进制文件。有什么方法可以在html / js中执行此操作并将png插入HTML文档中吗?或者我需要提供支持HTTP GET的代理服务吗?
答案 0 :(得分: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);
}
}
这可能是一个很好的尝试起点。他的例子看起来正是你想要做的事情