gpt4 book ai didi

java - 如何使用 Hibernate 将图像流式传输到数据库中?

转载 作者:太空宇宙 更新时间:2023-11-04 08:17:01 24 4
gpt4 key购买 nike

非常简单的问题,网上几乎没有答案。我使用 byte[] 作为我的对象。目前我正在将整个图像读入内存然后写入。非常简单。

    @Column(name = "FILE_DATA")
private byte[] fileData;

我想将其流式传输。所以我想我需要使用 inputStream,但 hibernate 不喜欢这样。

如何设置?

编辑:

我尝试了这个,但收到了 -314 db2 错误:

Blob b = null;
try {
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.com", 80));
URL urls = new URL(url);
URLConnection conn = urls.openConnection(proxy);
b = new BlobImpl(conn.getInputStream(), conn.getContentLength());
} catch (Exception e) {
e.printStackTrace();
}

att.setFileData(b);
this.theDao.save(att);

最佳答案

您可以使用 Blob 数据类型从数据库插入和获取图像。它还将为您提供二进制输入流的选项。只需使用您的 db 字段作为 blob 并创建一个 blob 对象而不是字节数组。

b.getBinaryStream()

您还可以从bytes[]创建Blob

Hibernate.createBlob(bytes);

最简单的解决方案保存在硬盘上并将有关图像的信息保存在数据库中。

关于java - 如何使用 Hibernate 将图像流式传输到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10251332/

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