我在节点服务器上有一条路由,该路由生成一个excel文件并被下载。
这是创建xlsx文件并做出响应的路由的一部分。
workbook.toFileAsync("./public/" + empresa2 + ".xlsx").then(() => {
res.download( __dirname + "/public/" + empresa2 + ".xlsx")
})
.catch(error => {
res.send({error: 'Error'})
})
我使用ajax GET调用此路由,并成功使用window.location方法检索文件。
这对我来说很好。现在,我要在下载文件后删除该文件。到目前为止,我知道这必须在服务器端完成。
我有一个取消文件链接的路径
fs.unlink( __dirname + "/public/" + empresa2 + ".xlsx",function(error){
console.log(error);
});
它运作良好,我的问题是何时何地调用该路由,以便它不会在下载文件之前删除它。
如果成功调用了ajax get,则该文件的删除速度比下载速度快。到目前为止,我已经尝试过确认对话和超时。
感谢您的帮助。