将Blob转换为图像

时间:2010-11-24 04:02:49

标签: jsp blob

我使用Blob类型将图像存储在数据库中。现在我可以使用select从数据库中获取此图像。我想在我的jsp上显示这个图像。在Jsp中,我创建了一个表,并希望它成为列之一。

我有blob数据如何将其转换回图像并在jsp页面上显示。

由于

2 个答案:

答案 0 :(得分:1)

只需使用ResultSet#getBinaryStream()获取blob的InputStream,然后立即将其写入HTTP响应的OutputStream沿着正确的标头集。根据其他答案的建议,绝对不需要将它临时存储在磁盘上。

更多详细信息和完整的代码示例可以在this answer中找到。

答案 1 :(得分:0)

以下是两个选项:

选项1:

这可能不是最好的答案,但它会在紧要关头......

您需要使用InputStreamReader从列中读取blob,然后创建FileOutputStream,然后在“已创建”的images目录中创建该文件。例如,如果将图像文件存储在名为/pics的目录中,则可以将文件写入名为/pics/generated的目录中。

这种方法有一些缺点。例如,每次请求页面时都会生成一个文件。如果文件都有不同的名称,这可能会有效。

选项2:

您将使用InputStreamReader从SQL返回的行中读取blob。使用byte[]作为流目标创建OutputStream。然后,只需将byte[]写入JSP

即可