首页 >后端开发 >Golang >如何使用'mime/multipart”和'http”在 Go 中处理多部分表单提交?

如何使用'mime/multipart”和'http”在 Go 中处理多部分表单提交?

Patricia Arquette
Patricia Arquette原创
2024-11-26 09:41:14790浏览

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

使用 Go 包提交多部分表单mime/multipart 和 http

创建多部分表单时,可以使用 mime/multipart 和 http 包在围棋中。这里提供了一个示例 HTML 表单。

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

在 Go 中,可以使用以下方法:

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)

要检索文件,需要 Reader。实现方法如下:

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

此解决方案提供了一种使用指定包在 Go 中提交多部分表单的综合方法。

以上是如何使用'mime/multipart”和'http”在 Go 中处理多部分表单提交?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn