Bagaimana untuk Menyesuaikan Jenis Kandungan untuk Medan Borang Berbilang Bahagian dalam Go?

Patricia Arquette
Lepaskan: 2024-10-28 08:01:02
asal
660 orang telah melayarinya

How to Customize Content-Type for Multipart Form Fields in Go?

Menyesuaikan Jenis Kandungan untuk Medan Borang Berbilang Bahagian dalam Go

Menghantar borang berbilang bahagian selalunya memerlukan penetapan pengepala Jenis Kandungan khusus untuk medan individu, seperti semasa memuat naik fail audio. Walaupun pakej berbilang bahagian/mim Go menyediakan cara yang mudah untuk mencipta borang berbilang bahagian, ia tidak membenarkan untuk menetapkan pengepala Jenis Kandungan khusus medan.

Penyelesaian

Sebagaimana pada masa ini tiada sokongan terbina dalam untuk fungsi ini, penyelesaian tersuai boleh dilaksanakan. Berikut ialah versi diubah suai bagi fungsi CreateFormFile:

<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>
Salin selepas log masuk

Penggunaan

Untuk menggunakan fungsi tersuai ini:

<code class="go">// Get file as bytes
file, err := os.Open("helloWorld.wav")
buf := new(bytes.Buffer)
writer := multipart.NewWriter(buf)

// Create multipart form field with custom Content-Type header
audioFile, _ := CreateAudioFormFile(writer, "helloWorld.wav")

// Copy file data to multipart form field
io.Copy(audioFile, file)
writer.Close()</code>
Salin selepas log masuk

Output

Ini akan menjana borang berbilang bahagian dengan metadata berikut:

--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732
Content-Disposition: form-data; name="file"; filename="helloWorld.wav"
Content-Type: audio/wav;rate=8000
[file data]
--0c4c6b408a5a8bf7a37060e54f4febd6083fd6758fd4b3975c4e2ea93732--
Salin selepas log masuk

Dengan cara ini, anda boleh dengan mudah menetapkan Jenis Kandungan untuk medan borang tertentu apabila menggunakan berbilang bahagian/mim pakej.

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Jenis Kandungan untuk Medan Borang Berbilang Bahagian dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!