ReadFile in Base64 Nodejs

匿名 (未验证) 提交于 2019-12-03 02:45:02

问题:

I'm trying to read an image from client side encoded in base64. How to read with nodejs?

My code:

// 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.         });     } }) 

But, I got this error:

In read file [Error: Path must be a string without null bytes.] 

* SOLUTION *

lwip accept buffer in open method.

// 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 }); 

回答1:

I think that the following example demonstrates what you need:http://www.hacksparrow.com/base64-encoding-decoding-in-node-js.html

The essence of the article is this code part:

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'); 


回答2:

var fs = require('fs');  function base64Encode(file) {     var body = fs.readFileSync(file);     return body.toString('base64'); }   var base64String = base64Encode('test.jpg'); console.log(base64String); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!