我正在使用beego开发一个网站
我有一个压缩文件生成,让用户从我的网站下载。但是,我不知道什么时候删除文件。有没有办法让我知道用户是否下载完了zip文件,这样我就可以把它从磁盘上删除了?
或者,我可以动态生成压缩文件并通过*zip.File转换为net/http吗?我看到http.ServeFile()接受ReadSeeker,但根据文档,我认为zip.File不满足ReadSeeker接口。
对于我的情况,有没有好的删除文件的方法?
发布于 2020-04-29 20:19:27
就像@Paul Hankin建议的那样,我只是在添加代码。
return middleware.ResponderFunc(func(w http.ResponseWriter, r runtime.Producer) {
fn := filepath.Base(filePath)
w.Header().Set("Content-Type", "application/octet-stream")
w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%q", fn))
io.Copy(w, file)
defer os.Remove(filePath) // Path to file you've downloaded.
file.Close()
})https://stackoverflow.com/questions/20782077
复制相似问题