Melaksanakan Muat Naik POST Pra-tandatangan ke AWS S3 dalam Go
Dalam panduan ini, kami akan menyelidiki secara spesifik melaksanakan pra -muat naik POST yang ditandatangani ke baldi AWS S3 menggunakan Go. Pendekatan ini berbeza daripada mekanisme muat naik pra-tandatangan yang lebih biasa yang melibatkan PUT.
Prasyarat:
Pembinaan Data Borang Berbilang Bahagian dan Permintaan POST:
Untuk memulakan muat naik, sediakan permintaan data borang berbilang bahagian yang mengandungi semua medan yang dinyatakan dalam dasar, termasuk dokumen dasar yang ditandatangani, kunci dan fail kandungan. Gunakan kaedah CreateFormField bagi pakej berbilang bahagian untuk mencipta setiap medan borang.
Contoh Kod:
Berikut ialah coretan kod Go yang menggariskan proses:
func Upload(url string, fields Fields) error { var b bytes.Buffer w := multipart.NewWriter(&b) for _, f := range fields { fw, err := w.CreateFormField(f.Key) if err != nil { return err } if _, err := fw.Write([]byte(f.Value)); err != nil { return err } } w.Close() req, err := http.NewRequest("POST", url, &b) if err != nil { return err } req.Header.Set("Content-Type", w.FormDataContentType()) client := &http.Client{} res, err := client.Do(req) if err != nil { return err } if res.StatusCode != http.StatusOK { err = fmt.Errorf("bad status: %s", res.Status) } return nil }
Dengan mengikuti langkah-langkah ini, anda boleh memuat naik fail ke baldi AWS S3 dengan lancar menggunakan kaedah POST pra-tandatangan dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Muat Naik POST Pra-tandatangan ke AWS S3 menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!