Go에서 다중 부분 양식 필드의 콘텐츠 유형 사용자 정의
이 질문은 다중 부분 내 개별 양식 필드의 콘텐츠 유형 사용자 정의와 관련이 있습니다. Go mime/multipart 패키지를 사용하여 생성된 양식입니다. 원본 코드는 멀티파트 형식을 생성하지만 기본 "application/octet-stream" 콘텐츠 유형을 가정합니다. 목표는 오디오 파일의 경우 "audio/wav;rate=8000"과 같이 특정 필드에 대해 특정 Content-Type을 설정하는 것입니다.
네이티브 mime/multipart 패키지는 설정에 대한 명시적인 지원을 제공하지 않습니다. 개별 필드의 Content-Type. 그러나 이를 달성하기 위해 사용자 정의 구현을 사용할 수 있습니다.
<code class="go">func CreateAudioFormFile(w *multipart.Writer, filename string) (io.Writer, error) { h := make(textproto.MIMEHeader) h.Set("Content-Disposition", fmt.Sprintf(`form-data; name="%s"; filename="%s"`, "file", filename)) h.Set("Content-Type", "audio/wav;rate=8000") return w.CreatePart(h) }</code>
이 함수는 원하는 콘텐츠 유형으로 새 양식 부분을 생성합니다. 이 함수를 사용하도록 원본 코드를 수정할 수 있습니다.
<code class="go">audioFile, _ := CreateAudioFormFile(writer, "helloWorld.wav") io.Copy(audioFile, file)</code>
이제 API는 오디오 파일에 적합한 Content-Type이 포함된 멀티파트 형식을 수신합니다. 결과 양식 데이터는 다음과 유사합니다.
--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732 Content-Disposition: form-data; name="file"; filename="helloWorld.wav" Content-Type: audio/wav;rate=8000 [audio file data] --0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732--
위 내용은 Go\의 다중 부분 양식에서 개별 양식 필드의 콘텐츠 유형을 사용자 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!