在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(“”);
在这里获取:


要点:

图像已经是二进制格式。您期望的额外转换是什么?