gpt4 book ai didi

Golang 如何在用户完成下载后删除生成的 zip 文件?

转载 作者:IT王子 更新时间:2023-10-29 01:43:18 27 4
gpt4 key购买 nike

我正在使用 beego 开发网站

我正在生成一个 zip 文件,让用户可以从我的网站下载。但是,我不知道什么时候删除文件。有没有办法让我知道用户是否已完成下载 zip 文件,以便我可以将其从磁盘中删除?

或者,我可以即时生成 zip 文件并将 *zip.File 传递到 net/http 吗?我看到 http.ServeFile() 接受 ReadSeeker,但我认为 zip.File 不满足 ReadSeeker 接口(interface)(根据文档)。

有什么好的方法可以根据我的情况删除文件吗?

最佳答案

导入 "os" 并运行以下行:

os.Remove(filename)

编辑:我能看到这种情况发生的唯一方法是使用 ajax 库从 api 下载文件,然后在完成时调用不同的 api。正常的 ajax 调用在这里不起作用,因为所有浏览器都不允许 ajax 直接访问磁盘,所以唯一的方法是使用像这样的库 http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads/

库 api 可以通过以下方式利用成功和失败回调之类的东西:

$.fileDownload('/url/to/download.pdf', {
successCallback: function (url) {

//do another ajax call to delete the file...
},
failCallback: function (html, url) {
//handle failure...
}
});

关于Golang 如何在用户完成下载后删除生成的 zip 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20782077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com