gpt4 book ai didi

java - 使用hibernate从数据库中检索blob并使用jsp在网页上显示

转载 作者:行者123 更新时间:2023-12-02 03:05:59 27 4
gpt4 key购买 nike

Answer mentioned here这对我不起作用我已将字节数组发送到数据库,该数组作为 blob 存储在数据库中

File file = new File(filePath);
byte[] imageData = new byte[(int) file.length()];

当我尝试从数据库中检索此字节数组中的 blob 对象时

我得到一个像这样的值“[B@526d24d9”。我将此值发送到 jsp 页面。(我将 blob 列表发送到 jsp 页面,即字节数组列表)现在我正在尝试使用 jsp 在网页上呈现此图像。但我无法找出最有效的方法一种方法是检索 blob 列表,对其进行处理并将其存储在文件中,然后使用标签从 jsp 页面中的该文件路径中检索但我正在寻找一种更有效的方法。 I am trying to something like this

jsp代码

<c:forEach items="${list}" var="list" varStatus="loop">
<c:set var="l" value="${loop.index}" />

<tr>
<td><c:out value= "${l+1}" /></td>
<td><c:out value="${list.name}" /></td>
<td><c:out value="${list.size} MB" /></td>
<td><c:out value="${list.preview}" /></td>
<td><i class="material-icons">edit</i>
<i class="material-icons" onclick="Remove()">delete</i></td>
</tr>
</c:forEach>

list.preview 包含字节数组“[B@526d24d9”

最佳答案

在实体类中创建一个 String PreviewUrl 字段。并在 getter 内部编写此代码。

public String getPreviewUrl() {
String pu = Base64.encode(getPreview());
setPreviewUrl(pu);
return previewUrl;
}

在你的jsp代码中,

<td><img class='imagem_artigo' src='data:image/png;base64,${list.previewUrl}' alt='IMG DESC' width="200" height='200'></td>

这会起作用

关于java - 使用hibernate从数据库中检索blob并使用jsp在网页上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com