javascript - convert - ReadFile en Base64 Nodejs
readfile javascript (2)
Creo que el siguiente ejemplo demuestra lo que necesitas: http://www.hacksparrow.com/base64-encoding-decoding-in-node-js.html
La esencia del artículo es esta parte del código:
var fs = require(''fs'');
// function to encode file data to base64 encoded string
function base64_encode(file) {
// read binary data
var bitmap = fs.readFileSync(file);
// convert binary data to base64 encoded string
return new Buffer(bitmap).toString(''base64'');
}
// function to create file from base64 encoded string
function base64_decode(base64str, file) {
// create buffer object from base64 encoded string, it is important to tell the constructor that the string is base64 encoded
var bitmap = new Buffer(base64str, ''base64'');
// write buffer to file
fs.writeFileSync(file, bitmap);
console.log(''******** File created from base64 encoded string ********'');
}
// convert image to base64 encoded string
var base64str = base64_encode(''kitten.jpg'');
console.log(base64str);
// convert base64 string back to image
base64_decode(base64str, ''copy.jpg'');
Estoy tratando de leer una imagen del lado del cliente codificada en base64. ¿Cómo leer con nodejs?
Mi código:
// add to buffer base64 image
var encondedImage = new Buffer(image.name, ''base64'');
fs.readFile(encondedImage, "base64", function(err, buffer){
if ( err ) {
console.log(''In read file'')
console.log(err)
} else {
// check err
lwip.open(buffer, ''jpg'', function(err, image){
console.log(''in open'')
if ( err ) console.log(err)
if ( image ) console.log(image)
// check ''err''. use ''image''.
// image.resize(...), etc.
});
}
})
Pero, tengo este error:
In read file
[Error: Path must be a string without null bytes.]
* SOLUCIÓN *
lwip
acepta buffer en método abierto.
// add to buffer base64 image from step
var encondedImage = new Buffer(image.name, ''base64'');
// check err
lwip.open(encondedImage, ''jpg'', function(err, image){
// image.resize(..), etc
});
var fs = require(''fs'');
function base64Encode(file) {
var body = fs.readFileSync(file);
return body.toString(''base64'');
}
var base64String = base64Encode(''test.jpg'');
console.log(base64String);