El evento Link clicked del Visor HTML ejecuta el manejador de evento que recoge en la variable local CHREF_LINK el valor de EVENT_PARAMS[1].

Ejecutamos a continuación el manejador javascript GUARDAR_IMAGEN.


Manejador GUARDAR_IMAGEN



importClass("VImage")

importClass("VByteArray")


var oByteArray = new VByteArray()

var oForm = theRoot.dataView()

var oImage = new VImage()

var oRegistro = new VRegister(theRoot)

oRegistro.setTable(<alias> + "/GRAFICOS_SEL")


// La URL del visor HTML -> CHREF_LINK contiene el string base64 de la imagen

// Mediante la clase VByteArray obtenemos el objeto Imagen

// Guardamos la Imagen en un campo Objeto de la tabla temporal GRAFICOS_SEL


cBase64 = theRoot.varToString("CHREF_LINK").replace("data:image/jpeg;base64,","")


// Cargamos el Texto en Base64

var oTexto = new VByteArray()

oTexto.setText(cBase64)


// Obtenemos el ByteArray original del JPEG

var oByteArray = new VByteArray()

oByteArray.fromBase64(oTexto)


// Guardamos la Imagen en la tabla temporal

if (oImage.loadFromData(oByteArray, "JPEG") {

       oRegistro.setField("NAME","Gráfico exportado")

       oRegistro.setFieldImage("IMAGEN",oImage)

   // Obtenemos el hash MD5 para detectar imágenes duplicadas

       oRegistro.setField("MD5",theRoot.varToString("C_MD5"))

       theRoot.beginTrans(theRoot)

       if (oRegistro.addRegister()) {

               theRoot.commitTrans()

       }

       else {

               theMainWindow.showMessageStatusBar("Ya se ha seleccionado este gráfico",1000)

       }

}

else {

       alert("No se puede establecer la Imagen")

};



Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator