MYSQL是支持把圖片存入數據庫的,也相應的有一個專門的字段BLOB (Binary Large Object),即較大的二進制對象字段,看下面代碼
首先,在數據庫中創建一個表,用於存放圖片: 代碼如下: CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data MEDIUMBLOB); 然後運行如下PYTHON代碼進行: 代碼如下: # -*- coding: UTF-8 -*- import MySQLdb as mdb import sys try: #用讀文件模式打開圖片 fin = open("../web.jpg") #將文本讀入img對象中 img = fin.read() #關閉文件 fin.close() except IOError, e: #如果出錯,打印錯誤信息 print "Error %d: %s" % (e.args[0],e.args[1]) sys.exit(1) try: #鏈接mysql,獲取對象 conn = mdb.connect(host='localhost',user='root',passwd='root', db='test') #獲取執行cursor cursor = conn.cursor() #直接將數據作為字符串,插入數據庫 cursor.execute("INSERT INTO Images SET Data='%s'" % mdb.escape_string(img)) #提交數據 conn.commit() #提交之後,再關閉cursor和鏈接 cursor.close() conn.close() except mdb.Error, e: #若出現異常,打印信息 print "Error %d: %s" % (e.args[0],e.args[1])