如何将图片存入postgresql中

chcocowyd 2009-01-28 09:50:13
最近正在做一个数据库,用python做前台,postgresql做后台数据库,利用pgdb进行前后台之间的联系。可是在将图片存入数据库时遇到问题,解决不了。
我试了以下两种方法:
1、是用python的PIL模块读取图片,利用Image.tostring()创建字符流,再将字符流存入数据库中。当需要时在把字符流从数据库中读取,利用Image.fromstring()还原图像。
可是在字符流存入数据库时无法成功,一开始以为是字符串中单引号引起的问题,我就把单引号都替换为2个单引号,但还是不成功,pgdb提示发生内部错误(internal error)。。。
2、用postgresql的内部大对象进行存储,期间利用到了postgresql的系统函数lo_import(),loexport()。导入图片顺利成功了,可导出图片却怎么也不行,提示:“错误: 无法创建服务器文件 "c:\6.png": Permission denied SQL 状态: 42501”,我的数据库创建者是数据库的超级用户,后来我又把这个用户添加到电脑的Admin组组中去,结果仍然不行。

请高手赐教,重谢!
...全文
1628 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chcocowyd 2009-01-29
  • 打赏
  • 举报
回复
首先谢谢unixlinuxsys!但是我这个项目并不需要另一个PostgreSQL前台(我前台是用wxpython编写的用于地理信息方面查询的),这个我事先没有说清楚,不好意思。
chcocowyd 2009-01-29
  • 打赏
  • 举报
回复
感谢trainee,构造字符串果然看起来就头晕了。。
我倾向于用大对象,我知道那是权限错误的原因,只是如何让postgresql用户可以读写数据库呢,我已经把postgresql用户添加到电脑的admin域中去了,还是不行,有点郁闷。。。
unixlinuxsys 2009-01-29
  • 打赏
  • 举报
回复
下载 - Aqua Data Studio - 版本 7.0.22
WINDOWS (x86 – 32 位) (版本: 7.0.22) - Windows Installer 含安装程序 [Site 1] 82.7MB
WINDOWS (x86 – 32 位) (版本: 7.0.22) - 压缩 ZIP 无安装程序(在 C:\ 中解压缩) [Site 1] 77.7MB
WINDOWS (x64 – 64 位) (版本: 7.0.22) - Windows Installer 含安装程序 [Site 1] 75.5MB
WINDOWS (x64 – 64 位) (版本: 7.0.22) - 压缩 ZIP 无安装程序(在 C:\ 中解压缩) [Site 1] 70.5MB

LINUX (x86 – 32 位) (版本: 7.0.22) [Site 1] 81.5MB
LINUX (x64 – 64 位) (版本: 7.0.22) [Site 1] 74.0MB
linux LINUX (Generic – 无 JVM) (版本: 7.0.22) 需要 JDK/JRE 1.6 或更高版本 [Site 1] 46.0MB

MAC OSX 10.5+ - Application (版本: 7.0.22) - OSX Application OSX 应用程序需要 Java 1.6 用于 Mac OS X 10.5,Update 1
(仅在 64 位 Intel Macs 上运行) [Site 1] 45.0MB
MAC OSX 10.5+ - Unix Package (版本: 7.0.22) - Unix 样式程序包 OSX 应用程序需要 Java 1.6 用于 Mac OS X 10.5,Update 1
(仅在 64 位 Intel Macs 上运行) [Site 1] 45.1MB

SOLARIS (Generic – 无 JVM) (版本: 7.0.22) 需要 JDK/JRE 1.6 或更高版本 [Site 1] 40.6MB

启用 JAVA 平台的操作系统 (版本: 7.0.22) - 压缩 ZIP 需要 JDK/JRE 1.6 或更高版本 [Site 1] 46.7MB
启用 JAVA 平台的操作系统 (版本: 7.0.22) - 压缩 TAR 需要 JDK/JRE 1.6 或更高版本 [Site 1] 46.6MB









http://www.aquafold.com/cns/downloads.html
unixlinuxsys 2009-01-29
  • 打赏
  • 举报
回复
Aqua Data Studio 具备管理功能的用于 PostgreSQL 关系数据库的管理工具和数据库查询工具。直观管理功能让用户能够浏览和修改数据库结构,包括架构对象和数据库存储,以及维护数据库安全。集成查询工具让您能够迅速创建、编辑和执行 SQL 查询与脚本。Aqua Data Studio 进一步提供导入与导出工具,从而轻松地将数据移入和移出不同的数据格式及 PostgreSQL 数据库。 集成在这些工具内的是库浏览器 (Repository Browser),拥有 CVS 和 Subversion (SVN) 的完整来源控制客户端。

操作系统支持
Download Windows
Download Linux
Download OSX
Download Solaris
Download Java 平台



这个你试用一下
trainee 2009-01-29
  • 打赏
  • 举报
回复
1。假如图片是用bytea存储的话,POSTGRESQL导入的格式用二进制好象还不行或者接口不支持,所以用IMAGE。tostring()不成功,
但可以将二进制转化为字符串,请参考文档的8.4章节
归纳如下
ASCII值为 0、39,92,0-31,127-255的字节转化为3位的八进制,前面加\\
除以上的字节(属于可打印字符)外,不必转换,也可以按以上规则转换
假如有三个字节的二进制序列 CHR(0)+CHR(80)+CHR(39)
转化结果为 \\000P\\047 也可以是\\000\\120\\047
相应的SQL语句类似于 INSERT INTO XXX VALUES (XXX,'\\000P\\047'::BYTEA)
以上方法在任何接口都是成功的,只是要自己构造字符串,麻烦点.

2,内部大对象没用过, 但所提示的权限错误,是指运行postgresql数据库的操作系统用户没有写盘的权限,
请问在openlayers如何删除Layer的marker 3 在层加了一个标记怎么永久的存到地图上 3 OpenLayers 如何设死地图边界 3 谁写过openlayers解析xml 3 openlayer.popup 3 OpenLayers 怎么做字段标注 4 字段标注不是用OL做的,而是你在SLD定义用数据表的哪个字段做标签就可以了 4 OpenLayers 画最短轨迹 4 使用TileCache配合OpenLayers 4 openlayers如何准确测距 9 openlayers简单实用例子 9 关于TileCache函数 13 openlayers 有函数说明的类图 14 go 14 Maker 一多,客户端就死掉 15 OpenLayers 怎么实现 AJAX 16 openlayer 要怎么研究才会应用得比较自如 16 改良OpenLayers的Popup 16 在openlayers的地图要添加地图搜索功能一般采用什么方法 17 openlayers如何访问geoserver发布的图片 18 什么是TMS? 18 怎样设置瓦片的大小 18 画一条线,数据量太大,怎么办? 18 怎么在图层上动态画点 20 GeoExt集成google map ,地图偏移 21 用JavaScript为OpenLayers.Marker的加上单击显示详细信息的功能 21 改良OpenLayers的MousePostion 25 使用OpenLayers实现一个在鼠标点击处添加标记的效果 27 openlayers 利用google maps的卫星地图 29 openLayers集成google map ,点标注错位 30 openlayers可以做出谷歌效果的地图吗? 31 用OpenLayers API和类来画点、线、面 32 OGC标准术语介绍WMS、WFS、WCS 35 如何控制地图的放缩 37 openLayers链接WMS的代码探讨 37 openlayers 2.5 矢量层在ie下闪烁的问题 38 openLayers 在地图上添加一个点并保存 39 openLayers 各个参数的意义 42 geoserver能搞出这种风格的图来吗? 43 关于SLD的线切割后的设置 43 GEOSERVE 标注铁路,使用 SLD 44 geoserver 发布.shp 文乱码问题 怎么解决啊 45 Geoserver怎么连postGreSql 数据库 48 Geoserver连Oracle Spatial 52 GeoServer架构浅谈 53 Geoserver发布地图无法显示问题 57 WebGIS相关的OpenGIS规范 58 geoserver地图以外的区域以自定义图片填充 62 怎样修改 geoServer 的用户名密码 65 GeoServer的WMS服务生成的png图片背景色为透明 65 比例尺 65 需不需要一个layer对应一个store 66 如何部署shp 66 用GeoWebCache后Marker错位 66 标签太大导致不能显示? 67 geoserver把两个shapefile格式的图叠 67 GeoServer 能够集成 Google Map? 68 gwc地图切片的缓存路径在web.xml设置么 68 如何实现地图查询? 68 sld文件怎么用 69 在sld怎么控制路名的间隔? 69

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧