Grabar IMAGEN en campo de ADS Server

Post Reply
Ariel
Posts: 309
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Grabar IMAGEN en campo de ADS Server

Post 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.
User avatar
compubrion
Posts: 130
Joined: Thu Mar 08, 2007 6:12 pm
Location: Miranda - Venezuela
Contact:

Re: Grabar IMAGEN en campo de ADS Server

Post 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
Harbour / Bcc / MinGW / Fwh 13.9
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: Grabar IMAGEN en campo de ADS Server

Post 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

#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
Regards

G. N. Rao.
Hyderabad, India
Ariel
Posts: 309
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

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

Post 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.
User avatar
JavierVital
Posts: 105
Joined: Thu Feb 26, 2009 4:08 pm
Contact:

Re: Grabar IMAGEN en campo de ADS Server

Post 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.
nnicanor
Posts: 296
Joined: Fri Apr 23, 2010 4:30 am
Location: Colombia

Re: Grabar IMAGEN en campo de ADS Server

Post 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
Nicanor Martinez M.
Auditoria y Sistemas Ltda.
MicroExpress Ltda.
FW + FWH + XHARBOUR + HARBOUR + PELLES C + XDEVSTUDIO + XEDIT + BCC + VC_X86 + VCC_X64 + MINGW + R&R Reports + FastReport + Tdolphin + ADO + MYSQL + MARIADB + ORACLE
nnicanor@yahoo.com
Post Reply