FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Mysql como grabar y cargar una imagen
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Mysql como grabar y cargar una imagen
Posted: Tue Aug 18, 2015 01:21 AM

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
Posts: 346
Joined: Mon Oct 05, 2009 03:35 PM
Re: Mysql como grabar y cargar una imagen
Posted: Tue Aug 18, 2015 11:24 AM
SkyPe: armando.lagunas@hotmail.com

Mail: armando.lagunas@gmail.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: Mysql como grabar y cargar una imagen
Posted: Tue Aug 18, 2015 05:04 PM

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

viewtopic.php?f=6t=27519

&

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 42
Joined: Thu Jul 13, 2006 12:20 AM
Re: Mysql como grabar y cargar una imagen
Posted: Sat Sep 26, 2015 05:23 AM

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

Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Mysql como grabar y cargar una imagen
Posted: Mon Sep 28, 2015 12:14 PM
Buen día para todos

Code (fw): Select all Collapse
//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 (fw): Select all Collapse
******************************
*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 (fw): Select all Collapse
******************
*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 AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion