如何使用快递从服务器上下载文件
问题描述:
我正在使用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);