我需要让用户下载他的文件并在响应完成后将其删除:
app.get('/download/:file', function (req, res) {
var filePath = '/files/' + req.param('file');
res.download(file);
fs.unlink(filePath);
});
在上面的代码中,fs.unlink可以比res.download更早地调用。
答案 0 :(得分:9)
在下载api中使用回调:
res.download(filePath, req.param('file'), function(err){
//CHECK FOR ERROR
fs.unlink(filePath);
});
答案 1 :(得分:3)
return res.download(filename, 'output.ext', () => {
fs.unlinkSync(filename);
});
对我来说,通过使用unlinkSync
避免了错误“ TypeError [ERR_INVALID_CALLBACK]:回调必须是函数”。
感谢@JonathanWiepert提供了此答案的想法。