Heim >Backend-Entwicklung >Golang >Wie gehe ich mit mehrteiligen Formularübermittlungen in Go mit „mime/multipart' und „http' um?

Wie gehe ich mit mehrteiligen Formularübermittlungen in Go mit „mime/multipart' und „http' um?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-26 09:41:14865Durchsuche

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

Mehrteilige Formularübermittlung mit Go-Paketenmime/multipart und http

Beim Erstellen eines mehrteiligen Formulars können Sie die Pakete mime/multipart und http verwenden in Go. Ein Beispiel-HTML-Formular wird hier bereitgestellt.

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

In Go kann der folgende Ansatz verwendet werden:

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)

Zum Abrufen der Datei ist ein Reader erforderlich. So geht das:

// 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
}

Diese Lösung bietet einen umfassenden Ansatz zum Senden mehrteiliger Formulare in Go unter Verwendung der angegebenen Pakete.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit mehrteiligen Formularübermittlungen in Go mit „mime/multipart' und „http' um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn