내 목표는 golang에 내장된 net/http 패키지를 사용하여 POST https://somehost/media
에 대용량 파일을 업로드하는 것입니다.
API 호출의 HTTP 형식
으아아아golang에서는 이것이 코드입니다.
으아아아 io.Copy(io.Writer, io.Reader)
문제
위의 코드는 잘 작동하지만 _, errFile3 = io.Copy(part3, file)
줄에 있습니다. 이는 기본적으로 파일의 모든 내용을 주 메모리에 복사합니다.
이 상황을 피하는 방법은 무엇입니까?
multipart-formdata
을 통해 대용량 파일을 API로 스트리밍할 수 있는 방법이 있나요?
프로그램은 원격 서버에서 실행됩니다. 매우 큰 파일을 열면 충돌이 발생할 수 있습니다.
전체 파일을 메모리에 로드하지 않고 요청에 파일을 복사하려면 io.Pipe 및 goroutine을 사용하세요.
으아아아위 내용은 Golang은 멀티파트를 사용하여 대용량 파일을 외부 API에 업로드합니다. `io.Copy(io.Writer, io.Reader)` 문제를 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!