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

Patricia Arquette
Lepaskan: 2024-10-27 10:23:03
asal
887 orang telah melayarinya

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

Menyesuaikan Jenis Kandungan untuk Medan Borang Berbilang Bahagian dalam Go

Soalan ini berkaitan dengan menyesuaikan Jenis Kandungan untuk medan borang individu dalam berbilang bahagian borang yang dibuat menggunakan pakej Go mime/multipart. Walaupun kod asal mencipta bentuk berbilang bahagian, ia menganggap Jenis Kandungan "aplikasi/oktet-strim" lalai. Matlamatnya adalah untuk menetapkan Jenis Kandungan tertentu untuk medan tertentu, seperti "audio/wav;rate=8000" untuk fail audio.

Pakej mime/berbilang bahagian asli tidak menyediakan sokongan eksplisit untuk tetapan Jenis Kandungan untuk medan individu. Walau bagaimanapun, pelaksanaan tersuai boleh digunakan untuk mencapai ini.

<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

Fungsi ini mencipta bahagian bentuk baharu dengan Jenis Kandungan yang diingini. Kod asal boleh diubah suai untuk menggunakan fungsi ini:

<code class="go">audioFile, _ := CreateAudioFormFile(writer, "helloWorld.wav")
io.Copy(audioFile, file)</code>
Salin selepas log masuk

Kini, API akan menerima borang berbilang bahagian dengan Jenis Kandungan yang sesuai untuk fail audio. Data borang yang terhasil akan menyerupai yang berikut:

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

Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Jenis Kandungan untuk Medan Borang Individu dalam Borang Berbilang Bahagian 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!