如何使用快递从服务器上下载文件

问题描述:

我正在使用node.js和express。我想在服务器上创建一个文件,然后在终点点击时下载。 这是我现在的代码。如何使用快递从服务器上下载文件

router.get('/download', (req, res) => { 
const fileController = new FileController(); 
    fileController.generateJSONFile() 
    .then((file) => { 
    fs.writeFile('fooFile.json', file, 'utf8'); 
    }).then((success) => { 
    res.download('fooFile.json'); 
    }) 
    .catch((error) => { 
    res.status(500).send(); 
}); 
}); 

我也想在下载完成后立即将文件从服务器上删除。

如果有更好的方法来实现这个目标,我不需要使用res.download()。

这会有帮助吗?这应该告诉浏览器将文件下载为fooFile.json。这不需要保存临时文件。如果你只是想发送json

res.setHeader('Content-Type', 'application/json; charset=utf-8'); 
res.send(file);