Page 1 of 1

Grabar IMAGEN en campo de ADS Server

PostPosted: Mon Mar 22, 2010 7:24 pm
by Ariel
Hola a todos,
he comprobando que en la version 1.2.1 rev. 4096 de xharbour al grabar una imagen JPG en un campo BINARY de una tabla ADT, da error cuando en versiones anteriores podia guardar cualquier cosa en ese campo, estoy usando ads server 9.1, a alguien le sucedió algo parecido ? hay solucion ?

Gracias!

Salu2, Ariel.

Re: Grabar IMAGEN en campo de ADS Server

PostPosted: Tue Mar 23, 2010 3:47 pm
by compubrion
Ariel, yo lo uso de esta forma sin problemas

IF ! AdsFile2Blob( cFileImg, ( aFilesAdt[ 2 ] )->("Logotipo"), ADS_IMAGE )
MSGINFO( "Error Grabando Imagen", oApp:cSistema )
ENDIF

Cruz Oses

Re: Grabar IMAGEN en campo de ADS Server

PostPosted: Tue Mar 23, 2010 4:59 pm
by nageswaragunupudi
Much simpler way is :

FIELD->IMAGEFLD:= MemoRead( <imagefile> )

works if the field IMAGEFIELD is created as IMAGE type.

xHarbour 1.2.1 Rev 6406
Code: Select all  Expand view
#include 'fivewin.ch'
#include 'ads.ch'
#include 'xbrowse.ch'

// xharbour 1.2.1 Rev 6406 & FWH 10.2

function Main()

   SET DATE ITALIAN
   SET CENTURY ON

   RddRegister( "ADS", 1 )
   AdsSetServerType( ADS_LOCAL_SERVER )
   RDDSetDefault( 'ADT' )

   DbCreate( 'ADTIMG', { ;
      { 'ID',     'NUMERIC',     2, 0 }, ;
      { 'FIMAGE', 'IMAGE',       9, 0 } }, 'ADT' )

   USE ADTIMG
   APPEND BLANK
   FIELD->ID      := 1
   FIELD->FIMAGE  := MemoRead( '\fwh\bitmaps\olga1.jpg' )
   APPEND BLANK
   FIELD->ID      := 2
   FIELD->FIMAGE  := MemoRead( '\fwh\bitmaps\AlphaBmp\world.bmp' )
   GO TOP

   XBROWSER 'ADTIMG'

   CLOSE ADTIMG

return nil
 

Result:
Image

Re: Grabar IMAGEN en campo de ADS Server (SOLUCIONADO)

PostPosted: Wed Mar 24, 2010 8:10 pm
by Ariel
Gracias x sus comentarios,

les comento que solucioné el tema de grabar una imagen JPG en un campo BINARY de una tabla .adt, aunque muchos digan que no se puede..., bueno yo si pude, el tema era volver a convertir el archivo con la misma extension que tenia, pues lo solucioné creando un campo con la extension del archivo (gracias Patricio) que estoy levantando, entonces al volcar el contenido del campo a disco le añado la extension. Luego tambien a tener en cuenta es el nombre del campo en la funcion adsfile2blob(), lo puse en MAYUSCULAS, y el tercer parametro ADS_BINARY. Nada mas, asi de simple.

Espero le sirva a alguien mas.

Mis dos granitos.

Salu2, Ariel.

Re: Grabar IMAGEN en campo de ADS Server

PostPosted: Thu Mar 08, 2012 5:51 pm
by JavierVital
Ariel, una pregunta.
Que tan grande se hiso tu tabla agregando las imagenes
yo tengo una tabla de 4000 productos y querian que se le spuriera imagen.

Saludos.

Re: Grabar IMAGEN en campo de ADS Server

PostPosted: Fri Mar 09, 2012 2:22 am
by nnicanor
Para que la tabla no se agrande demasiado las imágenes se pueden grabar en otra tabla relacionada, y solo las cargas cuando las necesites.


Slds