He estado tratando de decodificar un archivo pdf en base64 que me retorna un WS con una factura, pero no logro que se decodifique correctamente, es decir al parecer no lo he hecho correctamente porque aunque logro crear el archivo pdf, los lectores de pdf no lo reconocen y me muestran un error de archivo.
var rutaArchivo = theRoot.varToString(“DIR”);
var Base64 = theRoot.varToString(“FILE”);
// Se abre el fichero de escritura (si no existe se crea y si existe se limpia)
var newFile = new VFile( rutaArchivo );
var oByteArray = new VByteArray();
if ( newFile.open( VFile.OpenModeWriteOnly | VFile.OpenModeTruncate) ){
var oTexto = new VByteArray();
// Cargamos el Texto en Base64
oTexto.setText(Base64);
// Obtenemos el ByteArray con el contenido original del archivo
var oNewByteArray = new VByteArray();
oNewByteArray.fromBase64(oTexto);
// Se graba el buffer
newFile.write( oNewByteArray );
// Se cierra el fichero
newFile.close();
theRoot.setVar("RESP", "200")
}else{
// Si no ha sido posible abrir el fichero se muestra error
alert( "No se pudo abrir el fichero " + newFile.fileName(), "Error" );
theRoot.setVar("RESP", "No se pudo abrir el fichero ")
}