我正在尝试在上传文件时对文件大小进行限制。只要文件(或者更确切地说是请求正文,但对于我的目的而言足够接近)大于 1 MB,以下代码就会正确检测到。但是,如果是这种情况,返回的页面是“连接已重置”页面,而不是包含我的自定义错误消息的页面。如果文件小于 1 MB,我会正确地看到一个页面,显示“文件上传正常”。
我希望得到一些关于为什么重置与服务器的连接而不是提供我在下面的代码中指定的内容的指示。
func baseHandler(writer http.ResponseWriter, request *http.Request) {
request.Body = http.MaxBytesReader(writer, request.Body, 1024 * 1024)
_, _, err := request.FormFile("uploadfile")
if err != nil {
fmt.Fprintf(writer, "ERROR: %v", err) // Should be displayed in browser, is not
fmt.Printf("ERROR: %v", err) // Gets written to terminal, so any errors are correctly identified
return
}
fmt.Fprintf(writer, "File upload OK")
}
func main() {
http.HandleFunc("/", baseHandler)
http.ListenAndServe(":8080", nil)
}
Run Code Online (Sandbox Code Playgroud)