So I have this code:
downloadFile: async (req, res) => {
var mongoose = require('mongoose');
var Grid = require('gridfs-stream');
mongoose.connect(config.db, {useNewUrlParser: true},).catch(e => console.log(e));
var conn = mongoose.connection;
Grid.mongo = mongoose.mongo;
var gfs = Grid(conn.db);
var file_id = req.params.logoId;
console.log(file_id);
return gfs.files.find({_id: file_id}).toArray(function (err, files) {
if (err) {
console.log(err);
}
if (files.length > 0) {
console.log(files[0]);
var mime = files[0].contentType;
var filename = files[0].filename;
res.set('Content-Type', mime);
res.set('Content-Disposition', "inline; filename=" + filename);
var read_stream = gfs.createReadStream({_id: file_id});
read_stream.pipe(res);
return res;
} else {
console.log('File not found')
}
});
}
Executing it causes my browser to download the physical file via the browser. How can I redirect it to be saved on the server(?) and use it as a logo on the website?