如何释放内存或删除由http.ParseMultipartForm创建的临时文件?

huangapple go评论92阅读模式
英文:

How to release memory or remove temp files created by http.ParseMultipartForm?

问题

我正在使用http.ParseMultipartForm来处理我的Web应用程序中的文件上传。

文档中提到:

ParseMultipartForm将请求体解析为multipart/form-data格式。整个请求体将被解析,其中最多maxMemory字节的文件部分将存储在内存中,其余部分将存储在临时文件中。如果需要,ParseMultipartForm会调用ParseForm。在调用ParseMultipartForm一次之后,后续的调用将不会产生任何效果。

内存和/或临时文件将在什么时候被删除?

英文:

I'm using http.ParseMultipartForm to handle file uploads at my webapp.
Documentation says:
>ParseMultipartForm parses a request body as multipart/form-data. The whole request body is parsed and up to a total of maxMemory bytes of its file parts are stored in memory, with the remainder stored on disk in temporary files. ParseMultipartForm calls ParseForm if necessary. After one call to ParseMultipartForm, subsequent calls have no effect.

When the memory and/or temporary file will be deleted?

答案1

得分: 4

请求完成后,所有内容都会被释放。

内存缓冲区将可供垃圾回收使用,任何临时文件都将在请求结束时通过调用MultipartForm.RemoveAll()进行删除。

英文:

Everything is freed after the request is complete.

The memory buffers will be available for garbage collection, and any temporary files will be removed by the call to MultipartForm.RemoveAll() at the end of the request.

huangapple
  • 本文由 发表于 2015年12月16日 02:42:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/34296996.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定