在node.js中:如何将jpg图像转换为二进制数据?
相反,如何将二进制数据转换回图像?因为保存在后端的图像数据存储为二进制文件。试试这个在node.js中:如何将jpg图像转换为二进制数据?,node.js,image,binaryfiles,Node.js,Image,Binaryfiles,相反,如何将二进制数据转换回图像?因为保存在后端的图像数据存储为二进制文件。试试这个 var fs = require("fs"); fs.readFile('image.jpg', function(err, data) { if (err) throw err; // Encode to base64 var encodedImage = new Buffer(data, 'binary').toString('base64'); // Decode from base
var fs = require("fs");
fs.readFile('image.jpg', function(err, data) {
if (err) throw err;
// Encode to base64
var encodedImage = new Buffer(data, 'binary').toString('base64');
// Decode from base64
var decodedImage = new Buffer(encodedImage, 'base64').toString('binary');
});
希望它对您有用。您可以使用fs.createReadStream而不是Buffer来实现,Buffer是不推荐使用的方法。
如果你想要一个读取文件的解决方案(显然你也可以读取图像)并将其转换为二进制文件,我在NodeJS中写了一个小代码,看看,希望它能帮助你。这一切都是关于将文件读入二进制文件,但您肯定可以将字符串转换为数组或字节数组。如果你觉得这里很糟糕,请在下面的评论中告诉我 下面是一个简单但健壮的代码片段,您可以尝试
params format:
getBinary({
path : '<file_relative_path>',
padlength: '<prepending_padding_length>', (Default: 4)
debug: false, (Default: true)
limit: 10 (Default: Full_File_Length)
putSpacing: Boolean (Default: false)
})
Params Description:
1. path: Specifies the relative file path, to be read.
2. padlength: After reading the file, it reads object as number
(ex: hex(f): 1111, hex(0): 0), so if you need a
uniform length binary string then you will need to
fill the strings. as hex(0): 0000 when padlength is 4.
3. limit: limits the read buffer to render.
4. putSpacing: if true it puts a space after each padlength.
or
getBinary('<file_relative_path>');
params格式:
getBinary({
路径:“”,
焊盘长度:“”(默认值:4)
调试:false(默认值:true)
限制:10(默认值:完整文件长度)
putSpacing:布尔值(默认值:false)
})
参数说明:
1.路径:指定要读取的相对文件路径。
2.padlength:读取文件后,它将对象读取为数字
(例如:hex(f):1111,hex(0):0),所以如果您需要
统一长度的二进制字符串,然后您将需要
填充字符串。当焊盘长度为4时,为十六进制(0):0000。
3.限制:限制要渲染的读取缓冲区。
4.putSpacing:如果为true,则在每个焊盘长度后放置一个空格。
或
getBinary(“”);
在这里获取:
要点:图像已经是二进制格式。您期望的额外转换是什么?