Maison >développement back-end >Golang >Comment gérer les soumissions de formulaires en plusieurs parties dans Go en utilisant « mime/multipart » et « http » ?

Comment gérer les soumissions de formulaires en plusieurs parties dans Go en utilisant « mime/multipart » et « http » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-26 09:41:14787parcourir

How to Handle Multipart Form Submissions in Go using `mime/multipart` and `http`?

Soumission de formulaire en plusieurs parties à l'aide des packages Gomime/multipart et http

Lors de la création d'un formulaire en plusieurs parties, vous pouvez utiliser les packages mime/multipart et http en Aller. Un exemple de formulaire HTML est fourni ici.

<form action="/multipart" enctype="multipart/form-data" method="POST">
  <label for="file">Please select a File </label>
  <input>

Dans Go, l'approche suivante peut être utilisée :

var buffer bytes.Buffer
w := multipart.NewWriter(&buffer)
// Write fields and files
w.CreateFormField("input1")
w.WriteField("input1", "value1")
w.CreateFormFile("file", "filename.dat")
// Create a reader to read the file
resp, err := http.Post(url, w.FormDataContentType(), &buffer)

Pour récupérer le fichier, un Reader est requis. Voici comment procéder :

// Upload file to google code
func Upload(tarball string) (err os.Error) {
    // ... (code omitted)
    // Create file field
    fw, err := w.CreateFormFile("upload", tarball)
    // ... (code omitted)
    // Write file field from file to upload
    _, err = io.Copy(fw, fd)
    // ... (code omitted)
    return err
}

Cette solution fournit une approche complète pour soumettre des formulaires en plusieurs parties dans Go à l'aide des packages spécifiés.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn