发布文件位置

时间:2018-08-10 14:25:02

标签: curl go post

我正在尝试使用Go通过POST发送此请求。

curl https://api.onfido.com/v2/applicants/1030303-123123-123123/documents \
  -H 'Authorization: Token token=your_api_token' \
  -F 'type=passport' \
  -F 'file=@localfile.png;type=image/png'

目前,我不知道如何处理-F参数。

我创建了以下结构

type DocumentRequest struct {
    Type string `json:"type"`
    File string `json:"file"`
}
我通过它发送的

res, err := s.Post(assembleURL(“https://api.onfido.com/v2/applicants/", userID, "documents"), d, doc, &apiErr)

其中d是我的DocumentRequest。

有任何解决方法的提示吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您将必须读取文件并将其添加为请求正文。 ioutils中有一个助手,您可以摆脱结构并直接传递身体。这是要点。 Ofc,您应该处理错误,并且可能需要预先准备好请求,以便可以在发送之前添加其他标头。

body, err := ioutils.ReadFile(yourPath)
reqs, err := http.Post(uri, "image/png", &body)