如何在node.js中将文件转换为缓冲区?

时间:2015-10-29 14:39:25

标签: node.js sails.js

我正在写一个sails.js应用程序。我正在编写一个API来接受一个文件并加密它。

var file = req.body('myFile');
var fileBuffer = convertToBuffer(file);

如何将文件转换为缓冲区?

1 个答案:

答案 0 :(得分:10)

看起来你有一个表示文件正文的字符串。

你只需要用它new buffer

var fileBuffer = Buffer.from(file)

如果您的编码不是utf8,您可以将备用编码指定为第二个可选参数。

var fileBuffer = Buffer.from(file, 'base64')

如果文件实际上在磁盘上,这更容易,因为默认情况下,fs.readFile操作会返回缓冲区。

fs.readFile(file, function(err, buffer){})

如果你在真正的旧版本的节点Buffer.from不存在,你必须使用一个非常内存不安全的new构造函数。请考虑升级您的节点实例以支持Buffer.from