Express – Return binary data from webservice

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'));
};

Leave a Comment