在Go中通过HTTP接收二进制数据

通过go中的HTTP接收二进制数据的最佳方法是什么?就我而言,我想将zip文件发送到应用程序的REST API。特定于goweb的示例会很棒,但是net / http也可以。


繁华开满天机
浏览 384回答 1
1回答

月关宝盒

只需从请求正文中读取就像是package mainimport ("fmt";"net/http";"io/ioutil";"log")func h(w http.ResponseWriter, req *http.Request) {    buf, err := ioutil.ReadAll(req.Body)    if err!=nil {log.Fatal("request",err)}    fmt.Println(buf) // do whatever you want with the binary file buf}一种更合理的方法是将文件复制到某个流中defer req.Body.Close()f, err := ioutil.TempFile("", "my_app_prefix")if err!=nil {log.Fatal("cannot open temp file", err)}defer f.Close()io.Copy(f, req.Body)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go