【问题标题】:display blob in jsp在jsp中显示blob
【发布时间】:2013-04-03 06:41:57
【问题描述】:

尝试在 JSP 页面中显示 BLOB 图像时出现“图像损坏或截断”错误。我正在使用 servlet 查询图像并返回响应。

在 JSP 中:

<img src="myservlet?id=5" />

在 servlet 中:

   Blob binImage = img.getBinImage();
                            byte[] imgData = null;
                            imgData = binImage.getBytes(1, (int)binImage.length());
                            response.setContentType(img.getContentType());
                            response.setContentLength((int)binImage.length());
                            response.setHeader("Content-Disposition", "inline;filename=\"" + img.getImageName() + "\"");
                            OutputStream o = response.getOutputStream(); 
                            o.write(imgData);
                            o.flush();
                            o.close();

【问题讨论】:

  • 设置Content-Length 标头可能会有所帮助。
  • 已经设置好了,还是一样:(
  • Content-Disposition 标头在里面做什么?你应该删除它。

标签: java jsp


【解决方案1】:

首先,Base64 对您的图像(blob)进行编码,然后您可以直接在 &lt;img&gt; 标记中使用它。

看到这个link(是 PHP,但你会明白的)

<img src="data:image/jpeg; base64, + xmlhttp.responseText + " />

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 2021-09-06
    • 1970-01-01
    • 2012-02-24
    • 2014-07-29
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多