我正在开发一个允许用户上传和下载文件的应用程序,目前的问题是我可以从MongoDB数据库中检索文件,并通过我的机器下载到本地,但我不能通过浏览器下载。
到目前为止我试过这样做
const conn = mongoose.createConnection(process.env.URL, {
useNewUrlParser: true,
useUnifiedTopology: true
})
const bucket = new GridFSBucket(conn, {bucketName: 'uploads'});
router.get('/download', (req, res) => {
const files = bucket.openDownloadStreamByName('3987a162969935378c4f8cbe5d95bb46.svg').pipe(fs.createWriteStream('./3987a162969935378c4f8cbe5d95bb46.svg'))
res.end()
})
1条答案
按热度按时间bjp0bcyl1#
我不认为问题出在mongoDB或Gridfs上,而是出在您如何处理文件流上。如果您希望在用户调用/GET /download时下载文件,您需要
使用-res.download(文件);例如
祝你好运!也访问这个Download a file from NodeJS Server using Express