Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何使用Icefaces 3.0.1 FileEntry组件将图像保存到数据库_Postgresql_Jpa_Jsf 2_Icefaces 3 - Fatal编程技术网

Postgresql 如何使用Icefaces 3.0.1 FileEntry组件将图像保存到数据库

Postgresql 如何使用Icefaces 3.0.1 FileEntry组件将图像保存到数据库,postgresql,jpa,jsf-2,icefaces-3,Postgresql,Jpa,Jsf 2,Icefaces 3,我想使用fileentry组件将图像保存到数据库(带有JPA连接的postgres)和JSF。我在搜索它,所以我想我必须使用inputstream,但我不知道如何使用它将图像转换为bytea类型,以保存到名为example cover's book(bytea)的列中的数据库中。bean中应该包含什么代码。请帮帮我。我有这样的想法: 您正试图同时完成这一切。把它一步一步地分解成你能自己理解的部分 首先,请确保接收图像并将其存储到本地文件能够正常工作。这一部分有很多现有的例子 然后找出如何在JPA

我想使用fileentry组件将图像保存到数据库(带有JPA连接的postgres)和JSF。我在搜索它,所以我想我必须使用inputstream,但我不知道如何使用它将图像转换为bytea类型,以保存到名为example cover's book(bytea)的列中的数据库中。bean中应该包含什么代码。请帮帮我。我有这样的想法:


您正试图同时完成这一切。把它一步一步地分解成你能自己理解的部分

首先,请确保接收图像并将其存储到本地文件能够正常工作。这一部分有很多现有的例子

然后找出如何在JPA实现中映射
bytea
,以及如何从磁盘存储/检索文件。您没有提到您正在使用的JPA提供商,因此很难具体说明这一点

最后,通过直接从流中写入来连接这两个部分,但前提是您知道这两个部分各自都能正确工作。此时,如果要使用
bytea
字段,您将发现实际上无法将流直接发送到数据库-您必须将整个文件作为字节缓冲区提取到内存中

如果希望能够对数据库中的文件进行流式I/O,可以使用PostgreSQL对的支持。不过,你不太可能通过JPA来处理这个问题;您必须直接使用JDBC管理数据库中的文件。您必须从连接池中打开
连接
对象,以获取可以强制转换到
PgConnection
的基础
连接
,以便访问此API

如果你对任何一个单独的部分感到困惑,请随时发布关于该部分的适当详细和具体的问题;如果你链接回这个问题,这将有助于人们理解上下文。目前,这是一个非常广泛的“向我展示如何使用X和Y到Z技术”,需要编写(或找到)完整的教程来回答