Hola, tengo un error similar al anterior.
server.get('/:file_id', function(req , res) { var file_id = req.params.id; console.log(file_id); gfs.files.find({_id: file_id}).toArray(function (err, files) { if (err) { res.json(err); } if (files.length > 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); } else { res.json(file_id+ ' This file does not exist.'); } }); });A continuación se muestra un archivo ejs que lleva file_id al servidor.
<div class="card card-body mb-3"> <%= file.filename %> <form action="/:<%= file._id %>" method="get"> <input type="submit" value="DOWNLOAD" class="btn btn-primary btn-block"> </form> </div> Lo que obtengo de este código es: "undefined This file does not exist." Creo que el problema radica en req.params.id pero no estoy seguro de dónde solucionarlo.
Gracias.