Base64 Nodejs 中的读取文件

2022-01-21 00:00:00 image node.js readfile base64 javascript

我正在尝试从客户端读取以 base64 编码的图像.nodejs如何阅读?

I'm trying to read an image from client side encoded in base64. How to read with 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.
        });
    }
})

但是,我收到了这个错误:

But, I got this error:

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

推荐答案

最新最好的方法:

Node 支持使用 base64 编码的文件和缓冲区操作:

Node supports file and buffer operations with the base64 encoding:

const fs = require('fs');
const contents = fs.readFileSync('/path/to/file.jpg', {encoding: 'base64'});

或者使用新的 promises API:

const fs = require('fs').promises;
const contents = await fs.readFile('/path/to/file.jpg', {encoding: 'base64'});

相关文章