通过Go中的Multipart / FormData从上传的文件中删除边界和标头

时间:2019-07-17 22:07:25

标签: go

我正在尝试使用Insomnia REST客户端上传包含multipart / form-data的文件。但是上传的文件带有标题。

文件内容为:

<?xml version="1.0" encoding="utf-8"?>
<PresetGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Presets>
  ...

我处理上传分段的代码:

if err = r.ParseMultipartForm(32 << 20); nil != err {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}
r.ParseMultipartForm(32 << 20)
file, _, err := r.FormFile("file")
if err != nil {
    http.Error(w, err.Error(), http.StatusInternalServerError)
    return
}
defer file.Close()
reader = io.Reader(file)

现在,当我处理读取器并写入文件时,文件变为:

--X-INSOMNIA-BOUNDARY
Content-Disposition: form-data; name="file"; filename="presets.xml" Content-Type: application/octet-stream

<?xml version="1.0" encoding="utf-8"?>
<PresetGroup xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Presets>
  ...

为什么将content-type和边界添加(前置)到文件中?我该如何避免呢?

0 个答案:

没有答案