[pyar] INSERTAR UNA IMAGEN EN UNA BASE DE DATOS MYSQL
Julian Agustin Cardonnet
jcardonnet en gmail.com
Vie Feb 26 23:46:54 ART 2016
Hola Gerardo,
Podes dar datos mas precisos sobre el problema que estas teniendo. Por ej,
a que te referis exactamente con "no me deja insertarla ni actualizar la
base de datos"? Te tira una excepcion? Cual?
Otra cosa que no me queda clara es si te falla el insert de la imagen o
directamente el intentar crear la tabla...
Saludos,
Julian
El 26 de febrero de 2016, 23:13, Gerardo Rios <gsr.5392.tec en gmail.com>
escribió:
> Hola chicos:
> Quiero insertar una imagen de formato jpg en la tabla IMAGENES de la base
> de datos "imagenes_prueba" pero no me deja insertarla ni actualizar la base
> de datos. Aqui le paso el codigo:
>
> # -*- coding: UTF-8 -*-
>
> import mysql.connector
> #import pygame
> from PIL import Image
> import base64
>
> def CargaTablaImagenes():
>
> bd_imagenes = mysql.connector.connect(user='*****', password='****',
> host='********', database='imagenes_prueba')
>
> #Variable 'cursor' que se encargara de realizar las consultas SQL y
> contendra la informacion para esa consulta
>
> cursor = bd_imagenes.cursor()
>
>
> #--------------------------------------------------------------------------------------------------------------
>
> #CREAMOS LA TABLA IMAGENES
>
> sql = "CREATE TABLE IMAGENES (id INT NOT NULL auto_increment,imagen
> LONGBLOB,tipo VARCHAR(255),PRIMARY KEY (id))"
>
> cursor.execute(sql)
>
>
> #-------------------------------------------------------------------------------------------------------------
>
> # Cerramos cursor
> cursor.close()
>
>
> #--------------------------------------------------------------------------------------------------------------
>
> #DESCONEXION DE LA BASE DE DATOS
> # Nos desconectamos de la base de datos
> bd_imagenes.close()
>
>
> def CargaImagen():
>
>
> bd_imagenes = mysql.connector.connect(user='*****', password='******',
> host='*******', database='imagenes_prueba')
>
> #Variable 'cursor' que se encargara de realizar las consultas SQL y
> contendra la informacion para esa consulta
>
> cursor = bd_imagenes.cursor()
>
>
> #--------------------------------------------------------------------------------------------------------------
>
>
> #CARGAR LA IMAGEN
>
> #Abro el archivo de imagen para cargar sus contenidos
> archivo = "/home/gerardo/Escritorio/PYTHON/IMAGEN/piramide.jpg"
>
> imagen = Image.open(archivo)
>
> #PARA ENCONTRAR EL FORMATO DE LA IMAGEN
> formato = imagen.format
>
>
> #La guardamos en la BD
>
> datos = 'encoded_b64 = \\\n"""' +
> base64.encodestring(open(archivo,"rb").read()) + '"""' #transformamos la
> imagen en datos
>
> #se carga los datos en la base de datos
> sql = """INSERT INTO IMAGENES (imagen,tipo) VALUES (% s,% s)""" ,
> (datos, formato)
> try:
> #Ejecutamos el comando
> cursor.execute(sql)
> #Efectuamos los cambios en la base de datos
> bd_imagenes.commit()
> print "Los datos se agregaron con exito"
> except:
> #Si se genero algún error revertamos la operación
> bd_imagenes.rollback()
> print "no se pudo agregar los datos"
>
>
> #-------------------------------------------------------------------------------------------------------------
>
> # Cerramos cursor
> cursor.close()
>
>
> #--------------------------------------------------------------------------------------------------------------
>
> #DESCONEXION DE LA BASE DE DATOS
> # Nos desconectamos de la base de Datos
> bd_imagenes.close()
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20160226/2046c585/attachment.html>
Más información sobre la lista de distribución pyar