Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 当ErrNotMultipart时,ParseMultipartForm()返回nil_Http_Go - Fatal编程技术网

Http 当ErrNotMultipart时,ParseMultipartForm()返回nil

Http 当ErrNotMultipart时,ParseMultipartForm()返回nil,http,go,Http,Go,当ErrNotMultipart时,为什么返回nil mr, err := r.multipartReader() 767 if err == ErrNotMultipart { 768 return nil 769 } else if err != nil { 770 return err 771 } 就我而言,我的页眉有一个拼写错误 multipart/form-data, boundary=xxxx 上面应该有分号而不是逗号。现

当ErrNotMultipart时,为什么返回nil

mr, err := r.multipartReader()
767     if err == ErrNotMultipart {
768         return nil 
769     } else if err != nil {
770         return err
771     }
就我而言,我的页眉有一个拼写错误

multipart/form-data, boundary=xxxx
上面应该有分号而不是逗号。现在,我跟踪了几个小时,因为我认为ParseMultipartForm成功地处理了数据

从代码来看,它被迫为零可能有一个强有力的理由


(我在golang nuts group上发布了相同的问题,但当我向第一位合作者发布回复时,我的回复没有成功发布。因此,我认为stackoverflow是发布此问题的更好工具)

我认为你一开始就正确地向golang nuts写信,而不是在这里

这看起来确实像一个bug,因此应该在or中讨论 在…上请注意,golang nuts是温和的,因此您的帖子不会出现 立即(这可能发生在你身上)

作为一种解决方法,您可以使用
Request.MultipartReader
并自己阅读 (复制自
ParseMultipartForm
):

从我从代码历史中推断出的情况来看,这只是被忽略了。这个 更改来自,可以找到对特定代码行的审阅 . 测试似乎没有覆盖这个特定的解析错误。检讨 甚至说:

2011/04/28 00:08:40,布拉德菲茨写道: 我认为对于多部分表单,您总是会在这里返回一个错误。见评论 上面

固定的

除了这一个,几乎所有的错误都是这样。所以,正如我所说,我认为这是一个错误

mr, err := r.multipartReader() // don't forget to handle err
f, err := mr.ReadForm(maxMemory) // don't forget to handle err

for k, v := range f.Value {
    r.Form[k] = append(r.Form[k], v...)
}
r.MultipartForm = f