type req struct {
FileName string `form:"fileName" json:"fileName"`
File *multipart.FileHeader `form:"file" json:"file"`
}
file, err := req.File.Open()
if err != nil {
return nil, err
}
defer file.Close()
// 将文件写入
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
parameter, _ := writer.CreateFormFile("file", req.File.Filename)
io.Copy(parameter, file)
//写入其他表单文件参数
params := map[string]string{
"param": req.TaskName,
"operateBy": req.OperateBy,
}
for key, val := range params {
_ = writer.WriteField(key, val)
}
if err = writer.Close(); err != nil {
return err
}
//请求头信息
mapHead := map[string]string{
"Content-Type": writer.FormDataContentType(),
}
golang 将文件写入表单调用http接口
最新推荐文章于 2024-07-13 16:39:11 发布
本文详细描述了如何在Go语言中使用multipart/form-data处理文件上传和表单参数,包括打开文件、写入multipartwriter以及设置请求头信息的过程。
摘要由CSDN通过智能技术生成