请教各位大神如何 在python 中如何向postgresql 中插入图片??
python代码如下:
>>> import psycopg2
>>> conn = psycopg2.connect(database='aa',user='aaa')
>>> cur = conn.cursor()
>>> cur.execute('create table test_image(name varchar(50), image_date bytea)')
>>> f = open('C:/Users/John/Desktop/aa.jpg','rb').read()
以上步骤OK,但是将二进制数据f 插入数据库就不知道怎么办了
>>> cur.execute("insert into test_image values('aaa1'," + f + ")")报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
psycopg2.DataError: 閿欒: invalid byte sequence for encoding "UTF8": 0xff
mysqldb 里好像是的excape_string()方法,我没有试过,psycopg应该怎么办??
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
数据库格式CREATETABLEpublic.pic_data( p_idbigintNOTNULL, p_frontagebytea,)conn=psycopg2.connect(host='localhost',user='pic',password='123456',database='pic')cursor=conn.cursor()img_buffer=None#openimagewithopen("1.jpg",'rb')asimg_open:img_buffer=img_open.read()insert_sql="INSERTINTOservices_picture(p_id,p_frontage)values(%s,%s)"params=psycopg2.Binary(img_buffer)cursor.execute(insert_sql,(i,params))conn.commit()cursor.close()conn.close()