使用Go处理post请求中的多个文件

使用Go处理post请求中的多个文件,go,web,file-upload,webforms,server-side,Go,Web,File Upload,Webforms,Server Side,我正在使用Go to write服务器端的音乐流服务。我需要能够处理专辑上传。我希望管理员能够转到,选择一个必须包含meta.json,cover.jpg和一些.mp3歌曲文件的文件夹,单击上载,其余由服务器处理 下面是我用来测试此功能的简单HTML页面: 相册上传 我需要一个处理函数,它能够查看meta.json文件,检查其内容,并根据其中的内容进行处理。meta.json包含我需要的所有信息。现在,我不需要对使用Go阅读JSON或其他相关内容进行详细解释 我只需要将该文件夹中的所有文件

我正在使用Go to write服务器端的音乐流服务。我需要能够处理专辑上传。我希望管理员能够转到,选择一个必须包含
meta.json
cover.jpg
和一些
.mp3
歌曲文件的文件夹,单击上载,其余由服务器处理

下面是我用来测试此功能的简单HTML页面:


相册上传

我需要一个处理函数,它能够查看
meta.json
文件,检查其内容,并根据其中的内容进行处理。
meta.json
包含我需要的所有信息。现在,我不需要对使用Go阅读JSON或其他相关内容进行详细解释


我只需要将该文件夹中的所有文件作为独立文件读取。相反,当我执行
request.FormFile(“album”)
时,Go将它们都视为一个
album
文件字段,正如
FormFile
的文档所述,它只返回第一个文件。提交表单时,
album
字段将是一个数组,您必须使用多部分流来处理每个单独的文件

rd, err:=request.MultipartReader()
for {
  part, err:=rd.NextPart()
  if err==io.EOF {
      break
  }
  data,err:=ioutil.ReadAll(part)
  fileName:=part.FileName()
  part.Close()
}

您需要添加错误处理和数据处理等。

正如
FormFile
的文档所述,它只返回第一个文件。提交表单时,
album
字段将是一个数组,您必须使用多部分流来处理每个单独的文件

rd, err:=request.MultipartReader()
for {
  part, err:=rd.NextPart()
  if err==io.EOF {
      break
  }
  data,err:=ioutil.ReadAll(part)
  fileName:=part.FileName()
  part.Close()
}
您需要添加错误处理和数据处理等