这是因为您正在“复制”到
bodyBuf,这是内存中的缓冲区,从而迫使Go尝试分配与整个文件一样大的内存块。
根据您的使用情况,
multipart您似乎正在尝试通过HTTP流式传输文件?在这种情况下,请勿将传递
bytes.Buffer给
multipart.NewWriter,而是直接传递您的http连接。

这是因为您正在“复制”到
bodyBuf,这是内存中的缓冲区,从而迫使Go尝试分配与整个文件一样大的内存块。
根据您的使用情况,
multipart您似乎正在尝试通过HTTP流式传输文件?在这种情况下,请勿将传递
bytes.Buffer给
multipart.NewWriter,而是直接传递您的http连接。