Duplicar posible:
How can you encode to Base64 using Javascript?¿Cómo enviar datos de formularios multiparte binarios como base64?
Tengo una aplicación web basada en Java, Wicket y jQuery que tiene una función para permitir a los usuarios subir archivos (imágenes, archivos PDF, RTF) a través de multipart/form-data.
Nuestra infraestructura de seguridad web filtra todo el tráfico http para recoger contenido posiblemente malicioso, p. Ataques XSS, inyección de SQL, desbordamiento de búfer, etc.
El filtro no distingue entre los campos de entrada de texto normales y los datos de archivo para detectar falsos positivos de muchos archivos binarios cargados, evitando que esos archivos se carguen. No puedo cambiar la política de seguridad.
Parece que la mejor manera de evitar esto sería que los datos de los archivos estén codificados en base 64 para que se envíen con Content-Transfer-Encoding: base64 similar a lo que hacen los clientes de correo electrónico.
¿Hay alguna manera de dirigir el navegador para transferir el binario como base64 o algún otro formato no binario?
Si no, ¿podría hacerse manualmente con un poco de JavaScript?
¿Por qué mi pregunta se cerró como duplicado? No pregunté "¿Cómo se puede hacer la codificación base64 con JavaScript". Pregunté si había alguna forma de que los datos del formulario binario se codificaran ** en algún formato de caracteres, por ejemplo, base64 ** en el contexto de un envío de formularios, ya sea de forma automática o con ayuda de JavaScript. No he encontrado esta pregunta tratada en otro lugar en stackoverflow. – David
Estoy de acuerdo, no fue un duplicado exacto. – biziclop