Here is my slightly cleaned up version of how to return binary files with Express. I assume that the data is in an object that can be declared as binary and has a length:
exports.download = function (data, filename, mimetype, res) {
res.writeHead(200, {
'Content-Type': mimetype,
'Content-disposition': 'attachment;filename=" + filename,
"Content-Length': data.length
});
res.end(Buffer.from(data, 'binary'));
};