Mysql como grabar y cargar una imagen

Post Reply
User avatar
ruben Dario
Posts: 986
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia

Mysql como grabar y cargar una imagen

Post by ruben Dario »

Saludos

Algi
un ejemplo de como se graba y carga una imagen Mysql.

Cuando las imagenes son muy Grandes tengo entendido que se vuelve mue lento.

Que seria mejor , grabar el nombre de la Imagen en un campo Varchar y hacer el llamado desde una carpeta que se defina donde se debe guardar las imagenes.

Gracias
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Mysql como grabar y cargar una imagen

Post by joseluisysturiz »

Haber si esto te ayuda, esta mas reciente..saludos... :shock:

http://forums.fivetechsupport.com/viewt ... =6&t=27519
Dios no está muerto...

Gracias a mi Dios ante todo!
cjcardoza
Posts: 19
Joined: Thu Jul 13, 2006 12:20 am
Location: Lima - Peru

Re: Mysql como grabar y cargar una imagen

Post by cjcardoza »

Para trabajar con imágenes en Mysql lo hago asi:
creo una tabla donde solo grabo la imagen mediante el sgte Query:

INSERT INTO maefotos (codigo,foto) VALUES (cCodigo, LOAD_FILE(cFoto))

en cFoto es la ruta y nombre de la imagen ejm: c:/ruta/imagen.bmp

Para cargar la imagen lo hago asi:

REDEFINE IMAGE ::oBmp:Foto ID 155 OF ::odlg ADJUST TRANSPARENT ::oBmp:Foto:LoadFromMemory(::vGet:Foto)

en ::vGet:Foto esta la inicializado con la imagen de la BD Mysql ejm: ::vGet:Foto := oTabla:foto

Espero sea de su ayuda
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Mysql como grabar y cargar una imagen

Post by leandro »

Buen día para todos

Code: Select all

//Este comando hay que correrlo para poder almacener
//Archivos de Mayor Tamaño
leo:="SET global max_allowed_packet=16777216;"
TRY
  oCon:Execute(leo)
CATCH oError
  FW_ShowAdoError(oCon)
END
 

Code: Select all


******************************
*Almacenar la foto en la tabla
******************************
PROCEDURE pGrabaFoto(vMesFt,vFecFt,vruta,gcman,gclot,oRsFt,oBrwFt)
Local vMeGda
vMeGda:=subs(vMesFt,1,2)
cFileStr := filestr( vruta )
cSql  := SQL ;                          // SQL is FWH command
  INSERT INTO imagenes ( proyecto,manzana, lote, fecha, mes , imagen ) ;
  VALUES ( 1,gcman,gclot,vFecFt,vMeGda,cFileStr )
TRY
  oCon:Execute(cSql)
CATCH oError
  FW_ShowAdoError(oCon)
END
oRsFt:Requery()
oBrwFt:Refresh()
oCuAft:end()
 

Code: Select all

******************
*Recuperar la foto
******************
PROCEDURE pVerFoto(gcman,gclot,idfoto)
Local oDlgImg,cFotoEmpl,oRsFt

oVar   := "SELECT * from imagenes WHERE manzana="+lTranspic(gcman)+" AND lote="+lTranspic(gclot)+" AND consec="+lTranspic(idfoto)
oRsFt := FW_OPENRECORDSET(oCon,oVar,adLockOptimistic,adOpenKeyset)
nRegistros := oRsFt:RecordCount()

cFotoEmpl  := oRsFt:Fields("imagen"):Value
lFotoEmpl  := !Empty( cFotoEmpl )
cFotoEmpl  := IIf( !lFotoEmpl, FileStr( ".\pictures\nopictu.jpg" ), cFotoEmpl )

oRsFt:close()

DEFINE BRUSH oFondo FILE ".\res\res_403.BMP"
DEFINE DIALOG oDlgImg RESOURCE "ORLOTESSEG" ICON "#8001" TRANSPARENT BRUSH oFondo

  REDEFINE BUTTONBMP Btn_Canc ID 10 OF oDlgImg BITMAP "#8013" PROMPT "Cerrar" TEXTRIGHT ACTION oDlgImg:End()
  REDEFINE IMAGE oFotoEmpl ID 4001 OF oDlgImg ADJUST

  oDlgImg:cTitle := "Imagen del Lote "

ACTIVATE DIALOG oDlgImg NOWAIT CENTERED On Init (oFotoEmpl:LoadFromMemory( cFotoEmpl ),Centra( oDlgImg ),oDlgImg:refresh())
 
Gracias Carlos :)
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply