# Pasar archivo de texto a base64

**URL:** <https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372>\
**Category:** Velneo\
**Created:** [26 Marzo, 2020 15:00 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372 "2020-03-26T15:00:06Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [26 Marzo, 2020 15:00 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/1 "2020-03-26T15:00:06Z")

</div>

Hola a todos!!

Como no sé nada de js, me toca pedir ayuda por este medio. Resulta que debo pasar el contenido de un archivo de texto que contine la información de una factura en una estructura xml a BASE64.

Como hago eso?

Pues por lo que he investigado al parecer debo usar la clase VByteArray(), pero en las pruebas que hago siempre me sale un error…agradezco si alguien tiene y me hace el favor de regalarme el código de ejemplo. mil gracias.

---

<div class="post-metadata">

**Author:** ![mat.cas](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/mat.cas/32/5720_2.png) [@mat.cas](https://foros.velneo.com/u/mat.cas)\
**Post date:** [26 Marzo, 2020 18:05 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/2 "2020-03-26T18:05:48Z")

</div>

Hola yarumal, te puedo preguntar ¿que es lo que necesitas hacer? el requerimiento, no el problema técnico. Quizá haya una forma mucho mas sencilla de solucionarlo.

Sldos

---

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [26 Marzo, 2020 18:26 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/3 "2020-03-26T18:26:22Z")

</div>

Estoy con el tema de la facturación electrónica en mi país, y para enviar las facturas desde mi ERP al WS lo requieren que se genere un archivo de texto con la estructura xml requerida y luego que sea convertido a base64

---

<div class="post-metadata">

**Author:** ![mat.cas](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/mat.cas/32/5720_2.png) [@mat.cas](https://foros.velneo.com/u/mat.cas)\
**Post date:** [26 Marzo, 2020 18:35 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/4 "2020-03-26T18:35:29Z")

</div>

Hola de nuevo,  
no se de que país serás pero fijate que [vLatam](https://vlatamweb.com/) ya tiene los modulos F.E de varios países ya desarrollados para Velneo. Si tienes vERP, puedes solicitar una copia de vLatam ERP sino [deberias hablar directamente con ellos](https://vlatamweb.com/contacto/)

Sldos,  
Matias de [Rimatcom](https://rimatcom.com/)

---

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [27 Marzo, 2020 02:46 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/5 "2020-03-27T02:46:01Z")

</div>

No, yo tengo mi propio ERP, y eso es lo que trato de implementar.

El asunto es que ya logré codificar el archivo de texto con la estructura xml a base64, pero lo RARO es que el WS no lo acepta y estube comparando la codificación hecha con VByteArray() y la codificación hecha por un codificador en linea y son diferentes, es decir, el de Velneo no queda correctamente bien codificado en base64. no se cual sea la causa. Pero ahora me toca buscar otra solución.

si alguien de ustedes tiene ideas y explicacioens al respecto… por favor me cuentan.  
mil gracias.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [27 Marzo, 2020 10:23 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/6 "2020-03-27T10:23:14Z")

</div>

Hola yarumal

Alguna aclaración.

- Me resulta muy extraño que te pidan codificar un **XML** cuando éste es un formato ya pensado para transmitir información por Internet (ya sea firmado o no).

- En cualquier caso, para convertir el XML a Base64, el script javascript es de la forma:  
_var oBA = new VByteArray()_  
_var cXML = theRoot.varToString(“CXML”)_  
_oBA.setText(cXML)_  
_var oB64 = oBA.toBase64()_  
_theRoot.setVar(“CBASE64”, oB64.toLatin1String())_

- Quita los retornos del **archivo XML** antes de convertir a **Base64**. Si no los quitas la conversión a Base 64 varía según el codificador que uses.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![eduarchap1988](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/eduarchap1988/32/5496_2.png) [@eduarchap1988](https://foros.velneo.com/u/eduarchap1988)\
**Post date:** [27 Marzo, 2020 11:14 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/7 "2020-03-27T11:14:31Z")

</div>

Buen dia [N2] yarumal]

Te puedo asegurar que el codificar a base64 de Velneo funciona perfectamente. Lo que si te puedo comentar es que dependiendo del país y tercero que puedas estar utilizando (depende del país) debas tener consideraciones especiales.

Por ejemplo, si hablamos de Costa Rica, si o si debes asegurarte que el XML resultante no tenga acentos, ni “ñ” ni tampoco caracteres especiales como & en ningún lugar, sino te dará un supuesto “error en firma”

Si hablamos de Colombia, con el tercero FacturaTech. Es obligatorio antes de enviarle el XML para que lo convierta. Que escribas un fichero en disco con codificación UTF-8 y luego lo vuelvas a leer con la misma codificación.

---

<div class="post-metadata">

**Author:** ![eduarchap1988](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/eduarchap1988/32/5496_2.png) [@eduarchap1988](https://foros.velneo.com/u/eduarchap1988)\
**Post date:** [27 Marzo, 2020 11:15 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/8 "2020-03-27T11:15:47Z")

</div>

Saludos Paco

Si, es extraño, pero aquí en Latinoamerica, todo puede pasar y en efecto pasa. Hay varios países, que su exigencia es que el XML sea codificado en base64 antes de enviar. Es mas hay un caso divertido que no solo pide codificarlo en base64 sino después meter el base 64 en un txt y luego comprimirlo en ZIP, y enviar el fichero ZIP.

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [27 Marzo, 2020 12:34 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/9 "2020-03-27T12:34:54Z")

</div>

Hola eduarchap.

Estoy de acuerdo. Una cosa es el estandar y otra el uso absurdo que algunas empresas hacen de él.

Un XML codificado en UTF-8 y bien formado siempre se leerá correctamente por cualquier parser que sigue el estandar. Lo otro es complicarse la vida innecesariamente.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![yarumal](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/yarumal/32/5208_2.png) [@yarumal](https://foros.velneo.com/u/yarumal)\
**Post date:** [27 Marzo, 2020 16:39 UTC](https://foros.velneo.com/t/pasar-archivo-de-texto-a-base64/10372/10 "2020-03-27T16:39:21Z")

</div>

mil gracias a todos por su apreciaciones y consejos. Gracias eduaarchap por confirmar lo del codificador, asi se que puedo seguir trabajando con él.
