Speichern Sie Bilder mit Python in der Datenbank

高洛峰
Freigeben: 2016-10-18 10:36:30
Original
1916 Leute haben es durchsucht

Im Allgemeinen speichern wir Bilder im Dateisystem und speichern nur den Dateipfad in der Datenbank, aber manchmal gibt es spezielle Anforderungen: Speichern der Bildbinärdatei in der Datenbank.

Heute verwenden wir die Python-MySQL-Methode

MYSQL unterstützt das Speichern von Bildern in der Datenbank und verfügt dementsprechend über ein spezielles Feld BLOB (Binary Large Object), also größere Binärobjekte

haben auch ein größeres LONGBLOB, das Binärdaten speichert.

Hinweis: Versuchen Sie, das Feld größer einzustellen, denn wenn die Feldlänge zu klein eingestellt ist, wird das Bild nur teilweise angezeigt. Zweitens: Wenn die Datenmenge groß ist, vermeiden Sie die Verwendung dieser Methode, da MySQL beim Abfragen großer Datenmengen sehr langsam ist.

Der Code unten:

#!/usr/bin/python
#-*- coding: UTF-8 -*-
  
import MySQLdb as mysql
import sys
try:
    #读取图片文件
    fp = open("./test.jpg")
    img = fp.read()
    fp.close()
except IOError,e:
    print "Error %d %s" % (e.args[0],e.args[1])
    sys.exit(1)
try:
    #mysql连接
    conn = mysql.connect(host='localhost',user='root',passwd='123456',db='test')
    cursor = conn.cursor()
    #注意使用Binary()函数来指定存储的是二进制
    cursor.execute("INSERT INTO images SET data='%s'" % mysql.Binary(img))
    #如果数据库没有设置自动提交,这里要提交一下
    conn.commit()
    cursor.close()
    #关闭数据库连接
    conn.close()
except mysql.Error,e:
    print "Error %d %s" % (e.args[0],e.args[1])
    sys.exit(1)
Nach dem Login kopieren


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!