Base64 a Disco


([N1] robertocofiex) #1

Hola Tengo un string base64 y quiero guardarlo en disco. Es para firma digital y por un lado tengo el base64 del fichero a firmar de cualquier tipo/extensión y por otro el base64 con la firma del binario con extensión csig.

Quiero que ambos ficheros guardarlos en disco???.

Ayuda.

Muchas Gracias.


([N4] sergioinfortic) #2

Si tienes una cadena de caracteres que codifica un binario en base64 y quieres guardarlo en un fichero EN BINARIO sería algo así:

// ENTRADA: BASE64: Textod del fichero en base 64
//          FICHERO: Senda del fichero de salida
// RETORNO  RESULT: 0 No creado, 1 creado

importClass("VByteArray");
importClass("VFile");

var cBase64 = theRoot.varToString( "BASE64" );
var fichero = theRoot.varToString( "FICHERO" );

var oTexto = new VByteArray();
oTexto.setText(cBase64);

var oByteArray = new VByteArray();
oByteArray.fromBase64(oTexto);

var fi = new VFile( fichero );
if ( fi.open( VFile.OpenModeWriteOnly | VFile.OpenModeTruncate) )
{
	fi.setBufferSize( oByteArray.length )
	fi.write( oByteArray );
    fi.close();
	result=1;
} else {
	result=0;
}

theRoot.setVar("RESULT",result);