我发送ajax response.getOutputStream()。write(encoder.pngEncode())image,以字节为单位, 我希望在运行时在我的jsp中显示来自ajax响应的图像是否可能? 你能不能请任何人解决这个问题。
在Servlet类中:
chartImage = chart.createBufferedImage(400, 300);
PngEncoder encoder = new PngEncoder(chartImage, false, 0, 9);
resp.setContentType("image/png");
resp.setHeader("Cache-Control", "no-cache");
resp.getOutputStream().write(encoder.pngEncode());
在JSP中:
if (bbyHttpRequest.readyState == 4)
{
if(bbyHttpRequest.status == 200)
{
alert("inside ajax call");
var respone=bbyHttpRequest.responseText;
alert("respone----------->"+respone);
//var i = new Image();
//i.src = respone;
//document.getElementById("imgChart1").innerHTML = '<%=request.getContextPath() + "/CreateOMSMonitorScreenTest" %>';
// document.getElementById("imgChart1").value = '<%=request.getContextPath() + "/CreateOMSMonitorScreenTest" %>';
document.getElementById("imgChart1").value=respone;
}
else
{
alert(' Dynamic call to web server failed.Please refresh the page. ');
}
}
答案 0 :(得分:2)
如果您有一台返回PNG图像的服务器,则不必使用ajax,您可以使用简单的HTML:
<img src='myServer.thing?param=value' alt='Loading Failed' />
您可以使用JavaScript来处理img
代码的错误。
答案 1 :(得分:1)
有data urls,因此您可以创建类似&lt; img src =“data:image / png; base64的标记, iVBORw0KGgo ......“/&gt;
但是,IE6不支持,这对您来说可能是也可能不是问题。