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
Mysql como grabar y cargar una imagen
- ruben Dario
- Posts: 1072
- Joined: Thu Sep 27, 2007 3:47 pm
- Location: Colombia
- armando.lagunas
- Posts: 346
- Joined: Mon Oct 05, 2009 3:35 pm
- Location: Curico-Chile
- Contact:
Re: Mysql como grabar y cargar una imagen
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
Mail: armando.lagunas@gmail.com
- joseluisysturiz
- Posts: 2064
- Joined: Fri Jan 06, 2006 9:28 pm
- Location: Guatire - Caracas - Venezuela
- Contact:
Re: Mysql como grabar y cargar una imagen
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
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
- leandro
- Posts: 1771
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 49 times
- Been thanked: 13 times
- Contact:
Re: Mysql como grabar y cargar una imagen
Buen día para todos
Gracias Carlos
Code: Select all | Expand
//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 | Expand
******************************
*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 | Expand
******************
*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 24.09 ] [ xHarbour 64 bits) ]
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 24.09 ] [ xHarbour 64 bits) ]