Masalah:
Cara melakukan POST Pra-tandatangan muat naik untuk memuat naik fail ke baldi AWS S3 menggunakan Go, tanpa menggunakan PUT Pra-tandatangan tradisional kaedah?
Penyelesaian:
Untuk melakukan muat naik POST Pra-tandatangan, ikut langkah berikut:
Bina dan POS Data Borang Berbilang Bahagian: Buat permintaan data borang berbilang bahagian dengan medan berikut:
Contoh Kod dalam Go:
import ( "bytes" "fmt" "io" "mime/multipart" "net/http" "strings" ) // Fields represents the fields to be uploaded in the multipart form data request. type Fields struct { Key, Value string } // Upload performs a Pre-signed POST upload using the provided URL and fields. 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 := io.WriteString(fw, 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 }
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Muat Naik Fail POST yang telah ditandatangani ke AWS S3 menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!