Estoy trabajando en una aplicación de Chrome que utiliza la API del Sistema de Archivos HTML5, y permite a los usuarios importar y sincronizar archivos. Un problema que tengo es que si el usuario intenta sincronizar archivos de imagen, los archivos se corrompen durante el proceso de carga en el servidor. Supongo que es porque son binarios.Cargar un archivo binario usando JavaScript puro
Para cargar, opté simplemente por hacer una solicitud AJAx POST (usando MooTools) y luego puse el contenido del archivo como el cuerpo de la solicitud. Le dije a MooTools que apagara urlEncoding y establezca el juego de caracteres en "x-user-defined" (no estoy seguro si eso es necesario, acabo de verlo en algunos sitios web).
Dado que Chrome no tiene soporte para xhr.sendAsBinary, ¿alguien tiene algún código de muestra que me permita enviar archivos binarios a través de Ajax?
¿No sería más eficiente usar base64 y las funciones de JavaScript 'atob' y' btoa'? –