首页 > 编程知识 正文

mysql更新blob类型的字段,oracle blob导出图片

时间:2023-05-04 06:56:18 阅读:37263 作者:390

正在为前端GUI编写使用PyQt4的程序。 此程序访问后端数据库(MySQL或SQLite )。 必须将图像数据保存到数据库中。 以下是用于将图像文件(JPEG格式)导入数据库中的blob数据字段的Python代码: defdump_image(imgfile ) :

(I=开放(imgfile,' rb ' () ) ) ) ) ) ) ) ) ) 65

I.seek(0) )。

w=i.read ()

i.close () )

returncpickle.dumps(w,1 ) )。

blob=dump_image(imgfile ) )。

hex_str=blob.encode('hex ' ) ) )。

# x ' % s ' % hex _ strwillbethestringinsertedintothesqlcommand

这个部分工作得很好。 我的问题是如何从PyQt4中存储在数据库中的图像数据创建QPixmap对象。 我现在的方法包括以下步骤。

)1)数据库中的十六进制str----cpicklestringio----gt; PIL图像对象defload_image(s ) :

o=cpickle.loads(s ) )。

c=StringIO.StringIO (

c .写入(o ) )。

c.seek(0) )。

im=image.open(c )

return im

)2) PIL图像对象--gt; 临时图像文件

)3)临时图像文件--gt; QPixmap

这个方法也很有效。 但是,如果不需要创建/读取临时图像文件,程序对与用户交互的响应速度可能会降低。 QPixmap:loadFromData ) )可以直接从数据库中存储的blob数据加载。 我希望这里有人能教我如何使用这个函数。

蒂亚

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。