almacenar y recuperar fotos desde MySQL con python


Almacenar imagenes en Mysql utilizando python en windows con python 2.6 y libreria MySQLdb de python 2.6

Script base de datos de prueba que guardar las fotos con un id auto_incremente


CREATE TABLE images (
id INT NOT NULL AUTO_INCREMENT,
img LONGBLOB
PRIMARY KEY(id)
)





import MySQLdb as dbapi #importar libreria python
import sys #importar metodos del systema

try:
    fin = open("mujer.jpg","rb")#abre archivo ingresar a base de datos
    img = fin.read()#lee el archivo 
    fin.close() #cierra el archivo

except IOError, e: #excepcion en caso de error
    print "Error %d: %s" % (e.args[0],e.args[1])
    system(1)

try:
    conn = dbapi.connect(host='localhost',user='root', passwd='pasword', db='base de datos')#conexion con base de datos
    cursor = conn.cursor()#declara cursor
    cursor.execute("INSERT INTO images SET img = '%s'" % \
        dbapi.escape_string(img))#ejecuta sentencia de ingreso de imagen

    conn.commit()#cierra transaccion
    cursor.close()#cierra cursor
    conn.close()#cierra conexion

except mdb.Error, e: #genera excepcion en caso de error
    print "Error %d: %s" % (e.args[0],e.args[1])
    system(1)


Recuperacion de la imagen a traves de python desde base de datos de Mysql


import MySQLdb as dbapi#importar libreria mysql
import sys#importar metodos del sistema
try:
    fout =open('algo.jpg','wb')#nombre archivo que se guardar (cualquier nombre) en el archivo de salida
    conn = dbapi.connect(host='localhost',user='root', passwd='pasword', db='base de datos')#conexion a la base de datos
    c = conn.cursor()#creacion cursor (puntero)
    c.execute ("select img from images where id = 1")#sentencia que recupera la foto a travez de una id de la tabla de la base de datos
    fout.write(c.fetchone()[0])#escribe el resultado en el archivo de salida
    fout.close()#cerrar archivo
    c.close()#cerrar cursor
    conn.close()#cerrar conexion
except:#excepcion en caso de error
    print "erorr recuperar"



Comentarios

Entradas más populares de este blog

Juego del gato

Convertir decimal a binario, octal y hexadecima