Bagaimanakah Saya Boleh Menetapkan Jenis Kandungan Tersuai untuk Medan Borang Berbilang Bahagian dalam Go?

Linda Hamilton
Lepaskan: 2024-10-28 16:09:02
asal
868 orang telah melayarinya

How Can I Set Custom Content-Types for Multipart Form Fields in Go?

Menetapkan Jenis Kandungan untuk Medan Borang Berbilang Bahagian dalam Go

Dalam bidang pembangunan web, selalunya perlu memuat naik fail dengan kandungan tertentu jenis. Walau bagaimanapun, pengendali borang berbilang bahagian lalai dalam Go menetapkan jenis kandungan kepada "aplikasi/oktet-strim" untuk semua fail, yang mungkin tidak selalu sesuai. Artikel ini meneroka penyelesaian kepada isu ini, membenarkan pembangun menyesuaikan jenis kandungan untuk medan borang individu dalam bentuk berbilang bahagian.

Coretan kod yang disediakan cuba memuat naik fail dengan jenis kandungan yang diperlukan, tetapi gagal untuk menentukan ia secara eksplisit. Penyelesaiannya melibatkan pengubahsuaian fungsi penciptaan fail untuk memasukkan jenis kandungan yang dikehendaki dalam pengepala MIME:

<code class="go">import (
    "mime/multipart"
    "text/template"
)

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 menetapkan jenis kandungan kepada "audio/wav;rate=8000" untuk medan dengan nama " fail." Ia juga membina pengepala "Pelupusan Kandungan" dengan nama fail yang ditentukan.

Untuk melengkapkan proses muat naik, salin data fail kepada penulis yang dibuat oleh fungsi yang diubah suai:

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

Ini teknik menyediakan cara yang mudah untuk menetapkan jenis kandungan tersuai untuk medan borang berbilang bahagian, membolehkan pembangun memenuhi keperluan API tertentu atau memastikan pengendalian fail yang tepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Jenis Kandungan Tersuai 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!