Base64 Nodejs中的ReadFile
我试图从客户端读取base64编码的图像。 如何阅读与nodejs?
我的代码:
// 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. }); } })
但是,我得到这个错误:
In read file [Error: Path must be a string without null bytes.]
*解决scheme*
lwip
在打开方法中接受缓冲区。
// 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 });
我认为下面的例子演示了你需要什么: http : //www.hacksparrow.com/base64-encoding-decoding-in-node-js.html
文章的本质是这个代码部分:
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');