如何禁用fasthttp中的缓存?

时间:2019-05-09 22:25:57

标签: go caching fileserver fasthttp

我在Go中有一个带有fasthttp的文件服务器,该服务器用于发布和删除文件。

当我创建并发布文件时,服务器可以正确删除它,但是当我在创建并发布文件后提供文件时,我无法删除它,因为我收到一个“该进程无法访问文件,因为正在使用该文件另一个过程”错误。

似乎fasthttp缓存文件并保持打开状态以供以后请求。我该如何解决?

我正在使用fasthttp.ServeFile进行服务,删除文件的功能是:

requestAuth(ctx)
targetPath := path.Join(RootDirPath, string(ctx.Path()))
removeAll := false
{
    all := string(ctx.Request.Header.Peek("All"))
    if len(all) > 0 {
        if all == "1" || all == "?1" {
            removeAll = true
        }
    }
}
var e error
if removeAll {
    e = os.RemoveAll(targetPath)
} else {
    e = os.Remove(targetPath)
}
if e != nil {
    panic(e)
}
sendDoneResponse(ctx)

0 个答案:

没有答案