Guardar imagen en Dropbox con datos del lienzo
Estoy tratando de escribir datos de lienzo como una imagen (png) en mi dropbox. Logré obtener los datos del lienzo y guardar un archivo en Dropbox, pero el archivo no es un archivo de imagen que parece.
De acuerdo con la documentación, los datos de la imagen deben convertirse a un arrayBuffer. Lo que estoy haciendo usando una función que se encuentra aquí en Stackoverflow pero algo no parece funcionar. ¿Alguien sabe lo que estoy haciendo mal?
function _str2ab(str) {
var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
var bufView = new Uint16Array(buf);
for (var i=0, strLen=str.length; i<strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
function _savePicture () {
//Get data from canvas
var imageSringData = canvas.toDataURL('image/png');
//Convert it to an arraybuffer
var imageData = _str2ab(imageSringData);
client.writeFile('/Public/the_image.png', imageData, function(error, stat) {
if (error) {
console.log('Error: ' + error);
} else {
console.log('File written successfully!');
}
});
Aquí hay alguna documentación de Dropbox.https://github.com/dropbox/dropbox-js/blob/stable/guides/snippets.md