我正在写一个sails.js应用程序。我正在编写一个API来接受一个文件并加密它。
var file = req.body('myFile');
var fileBuffer = convertToBuffer(file);
如何将文件转换为缓冲区?
答案 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