gpt4 book ai didi

forms - golang - 上传大文件的功能

转载 作者:IT王子 更新时间:2023-10-29 02:29:44 33 4
gpt4 key购买 nike

在 go 中,有不同的方法来读取以多部分形式发送的文件

r.FormFile("文件")

r.MultipartReader()

r.ParseMultipartForm(大小)

我部分理解它们之间的区别,但是哪种最适合处理大文件 (~1GB)?

而且,哪个使用的内存更少?

最佳答案

https://golang.org/pkg/net/http/#Request.ParseMultipartForm

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.

因此,您可以通过调用 r.ParseMultipartForm(max) 来控制最大内存使用量,并且您可以使用 http.MaxBytesReader 来控制从请求中读取的总量。 .

另请参阅此答案:https://stackoverflow.com/a/28292505/556573

关于forms - golang - 上传大文件的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254522/

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