我试图在GoogleAppEngine Java中附加2个图像(如byte []),然后让HttpResponseServlet显示它。 但是,似乎没有附加第二张图像。
下面的代码段有什么问题吗?
...
resp.setContentType("image/jpeg");
byte[] allimages = new byte[1000000]; //1000kB in size
int destPos = 0;
for(Blob savedChart : savedCharts) {
byte[] imageData = savedChart.getBytes(); //imageData is 150k in size
System.arraycopy(imageData, 0, allimages, destPos, imageData.length);
destPos += imageData.length;
}
resp.getOutputStream().write(allimages);
return;
此致
答案 0 :(得分:1)
似乎您对图像文件格式以及它们在HTML中的工作方式有完全错误的概念。
简而言之,阵列复制得非常好而没有问题。但这不是图像的工作方式。
你需要做AWT来组合Java中的图像
答案 1 :(得分:1)
我希望浏览器/客户端为这些图像发出 2个单独的请求,并且servlet将依次提供每个请求。
您不能只将图像连接在一起(就像大多数其他数据结构一样)。标题等怎么样?目前你提供的2个jpeg彼此对接,浏览器根本无法处理。
如果你真的需要2张图像,那么你需要一些图像处理库来为你做这件事(或者,如所指出的,AWT)。查看ImageIO库。