我在节点服务器上有一条生成 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 中调用成功,则文件被删除比下载更快。到目前为止,我已经尝试过确认对话和超时。
感谢您的帮助。