Guardar imagen
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