在IE 11中显示来自servlet的ByteArray图像的问题

时间:2016-05-27 14:58:30

标签: javascript jsp internet-explorer

在我的JSP中,我有一些代码从jsp获取字节数组:

photo.innerHTML = "<img src='" + "<%=getPictureUrl%>" + "&amp;pidm=" + x[i].getAttribute("pidm") + "'></img>";

将用户的唯一ID作为url参数添加。在java方面,我得到图像并将其转换为字节数组。

                InputStream is = connection.getInputStream();
                System.out.print("getInputStream ");

                 if (is instanceof ByteArrayInputStream) {
                  size = is.available();
                  buf = new byte[size];
                  len = is.read(buf, 0, size);
                } 
                else {
                  ByteArrayOutputStream bos = new ByteArrayOutputStream();
                  buf = new byte[size];
                  while ((len = is.read(buf, 0, size)) != -1)
                    bos.write(buf, 0, len);
                  buf = bos.toByteArray();
                }

                 o.write(buf);                       
                 o.flush();
                 o.close();

这在Firefox和Chrome中运行良好,但在IE中,会显示带有“x”的黑框,就像浏览器无法找到图像一样。是否有一些特殊的东西需要在IE中解决这个问题?我没有在Web控制台中看到任何错误。

1 个答案:

答案 0 :(得分:0)

忘记设置我的回复的内容类型:

{{1}}