0
我试图通过http接收大(〜25Mb)文件。从“客户端”我已经通过PHP和cUrl发送这个文件,并尝试从golang接收它。
这里是代码:通过http接收大文件
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func handler(w http.ResponseWriter, r *http.Request) {
buf, _ := ioutil.ReadAll(r.Body)
fmt.Println(string(buf[:]))
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":12100", nil)
}
在这种情况下,我可以看到我的文件中ioutil.ReadAll
输出。但是,如果我想获得唯一的文件内容,它失败:(
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func handler(w http.ResponseWriter, r *http.Request) {
r.ParseMultipartForm(0)
fmt.Println(r.FormValue("f"))
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":12100", nil)
}
但是文件很小(〜900KB)一切正常,什么是通过HTTP发送大文件的正确方法吗?