0

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

感谢您的帮助。

4

0 回答 0