Reputation: 5230
I am writing a sails.js app. I am writing an API to accept a file and encrypt it.
var file = req.body('myFile');
var fileBuffer = convertToBuffer(file);
How do I convert a file to buffer?
Upvotes: 23
Views: 81991
Reputation: 944
In 2024 this is what I'm doing – which makes typescript happy.
First create an ArrayBuffer from the file, then pass the ArrayBuffer to Buffer.from
like so
const arrayBuffer = await file.arrayBuffer()
const buffer = Buffer.from(arrayBuffer)
Upvotes: 8
Reputation: 22728
That looks like you've got a string which represents the body of your file.
You just have to make a new buffer with it.
var fileBuffer = Buffer.from(file)
If your encoding is NOT utf8
you can specify an alternate encoding as a second optional argument.
var fileBuffer = Buffer.from(file, 'base64')
If the file is actually on disk, this is even easier, since, by default, the fs.readFile
operation returns a buffer.
fs.readFile(file, function(err, buffer){})
If you're in a real old version of node Buffer.from
doesn't exist and you have to use a very memory-unsafe new
constructor. Please consider upgrading your node instance to support Buffer.from
Upvotes: 49