gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:48:56 26 4
gpt4 key购买 nike

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

最佳答案

从请求正文中读取即可

有点像

package main

import ("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)

关于api - 在 Go 中通过 HTTP 接收二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com