首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Base64 Nodejs中的ReadFile

Base64 Nodejs中的ReadFile
EN

Stack Overflow用户
提问于 2015-03-03 22:51:36
回答 3查看 129.5K关注 0票数 91

我正在尝试从客户端读取一个用base64编码的图像。如何使用nodejs阅读?

我的代码:

代码语言:javascript
复制
// 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.
        });
    }
})

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

代码语言:javascript
复制
In read file
[Error: Path must be a string without null bytes.]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-10 07:04:25

做到这一点的最新最好的方法:

Node支持使用base64 encoding的文件和缓冲区操作

代码语言:javascript
复制
const fs = require('fs');
const contents = fs.readFileSync('/path/to/file.jpg', {encoding: 'base64'});

或者使用新的promises API

代码语言:javascript
复制
const fs = require('fs').promises;
const contents = await fs.readFile('/path/to/file.jpg', {encoding: 'base64'});
票数 151
EN

Stack Overflow用户

发布于 2015-03-03 23:22:01

我认为下面的示例演示了您所需要的:我删除了链接,因为它已损坏。

这篇文章的精华在于这部分代码:

代码语言:javascript
复制
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');
票数 122
EN

Stack Overflow用户

发布于 2018-05-15 18:46:22

代码语言:javascript
复制
var fs = require('fs');

function base64Encode(file) {
    var body = fs.readFileSync(file);
    return body.toString('base64');
}


var base64String = base64Encode('test.jpg');
console.log(base64String);
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28834835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档