MySQL存储图片的二进制,其字段设置为blob属性,二进制数据
1、连接数据库
import pymysql import sys conn=pymysql.connect(host='localhost',user='root',passwd='root',db='mydata')
2、打开存储图片路径
1. fp = open("1.jpg") 2. img = fp.read() 3. fp.close()
3、存储图片
def insert_imgs(img): # mysql连接 cursor = conn.cursor() # 注意使用Binary()函数来指定存储的是二进制 # cursor.execute("insert into img set imgs='%s'" % mysql.Binary(img)) cursor.execute("Insert into img(imgs) values(%s)", (mysql.Binary(img))) # 如果数据库没有设置自动提交,这里要提交一下 conn.commit() cursor.close() # 关闭数据库连接 conn.close()
4、提取图片
def select_imgs(img): cursor=conn.cursor() cursor.execute('select imgs from img') print cursor.fetchall() cursor.close() conn.close()