Maison >développement back-end >Golang >Comment effectuer un téléchargement POST pré-signé vers AWS S3 à l'aide de Go ?
Effectuer un téléchargement POST pré-signé vers AWS S3 dans Go
Dans ce guide, nous approfondirons les spécificités de l'exécution d'un pré-signé -Téléchargement POST signé vers un compartiment AWS S3 à l'aide de Go. Cette approche diffère du mécanisme de téléchargement pré-signé plus courant impliquant PUT.
Prérequis :
Construction de données de formulaire en plusieurs parties et requête POST :
Pour lancer le téléchargement, préparez une demande de données de formulaire en plusieurs parties contenant tous les champs spécifiés dans la stratégie, y compris le document de stratégie signé, la clé et le contenu du fichier. Utilisez la méthode CreateFormField du package multipart pour créer chaque champ de formulaire.
Exemple de code :
Voici un extrait de code Go qui décrit le processus :
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 }
En suivant ces étapes, vous pouvez télécharger en toute transparence des fichiers vers un compartiment AWS S3 à l'aide de la méthode POST pré-signée dans Allez-y.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!