Golang中net/http包的使用问题探讨
Golang中net/http包的使用问题探讨
我正在测试一个API,其中有一个用于上传文件的URL,假设是data/import。
其内容类型(contentType)是multipart/form,但只发送文件。
我有一段用于HTTP客户端的代码如下:
req, _ := http.NewRequest(http.MethodPost, "/data/import", ?)
我不知道在"?"处应该放什么。 是应该直接放文件的路径,还是需要用读取器(reader)读取文件并传递字节切片?
先谢谢了。
3 回复
NewRequest 接收一个 io.Reader:
func NewRequest(method, url string, body io.Reader) (*Request, error)
因此,出于测试目的,你可以从字符串或类似的东西中读取数据:
r := strings.NewReader("Test Data")
req, _ := http.NewRequest(http.MethodPost, "/data/import", r)
如果你愿意,也可以从文件中读取数据,类似这样:
file, err := os.Open("testdata.txt") // 用于读取访问。
if err != nil {
// 处理错误
log.Fatal(err)
}
defer file.Close()
req, _ := http.NewRequest(http.MethodPost, "/data/import", file)
这段代码完全是未经编译或任何处理直接写出来的,所以你可能需要调整它才能使其真正工作,但这应该能让你入门!


