在去有不同的方式来读取具有多形式golang - 这上传大文件
r.FormFile("file")
r.MultipartReader()
r.ParseMultipartForm(size)
,我部分地理解发送文件功能它们之间的差异,然而这是处理大文件(〜1GB)的最佳选择?
而且,这是一个使用较少的内存?
在去有不同的方式来读取具有多形式golang - 这上传大文件
r.FormFile("file")
r.MultipartReader()
r.ParseMultipartForm(size)
,我部分地理解发送文件功能它们之间的差异,然而这是处理大文件(〜1GB)的最佳选择?
而且,这是一个使用较少的内存?
https://golang.org/pkg/net/http/#Request.ParseMultipartForm
ParseMultipartForm解析请求体作为多部分/形式的数据。 解析整个请求体,并将其文件部分的总共maxMemory字节存储在内存中,其余部分存储在磁盘中的临时文件中。如有必要,ParseMultipartForm会调用ParseForm。在一次调用ParseMultipartForm后,后续调用不起作用。
可以因此通过调用r.ParseMultipartForm(max)
控制最大内存使用情况,您可以通过使用http.MaxBytesReader
控制从请求读取的总金额。