Page 1 of 1

Mysql como grabar y cargar una imagen

Posted: Tue Aug 18, 2015 1:21 am
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

Re: Mysql como grabar y cargar una imagen

Posted: Tue Aug 18, 2015 11:24 am
by armando.lagunas
hola ruben:

sigue este hilo

http://forums.fivetechsupport.com/viewt ... =6&t=18625

saludos

Re: Mysql como grabar y cargar una imagen

Posted: Tue Aug 18, 2015 5:04 pm
by joseluisysturiz
Haber si esto te ayuda, esta mas reciente..saludos... :shock:

http://forums.fivetechsupport.com/viewt ... =6&t=27519

Re: Mysql como grabar y cargar una imagen

Posted: Sat Sep 26, 2015 5:23 am
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

Re: Mysql como grabar y cargar una imagen

Posted: Mon Sep 28, 2015 12:14 pm
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 :)