正如标题所说,我已经在我的postgresql数据库中插入了一组图像,这些图像添加到一个数组中,并使用游标发送到数据库。数据库中的列是bytea[],所以它适用于我。
我使用此代码片段将图像字节流转换为二进制文件,并将其放入数组并发送到db
somearray.append(psycopg2.Binary(image.content))但是,当运行select语句从数据库中获取该数组时,我得到的是一个内存视图,此时我不确定如何将其转换回数组。
在研究之后,我真的迷失在这一点上,因为大多数帖子都告诉我使用toByte()将内存视图转换为某个字节字符串,但我的目标是将内存视图转换为数组或二进制项,以将二进制文件转换回图像。
发布于 2020-04-10 00:54:20
为了供将来的读者参考,这个问题涉及到将多个图像插入到每个字节数组中,其中该数组中的每个元素表示一个图像。您可以使用以下代码获取以字节为单位的图像。
cursor.execute("select byte_array from test")
image_sets = [row[0] for row in cursor.fetchall()]
images_as_bytes = [bytes(image) for image_array in image_sets for image in image_array]https://stackoverflow.com/questions/61042901
复制相似问题