猿问

为什么我不能使用“文件”作为 http 请求的“正文”?

“http.Post”需要一个“Reader”作为主体参数。“文件”实现“阅读器”。但是如果我将文件作为 body 参数传递,我总是在另一端收到 0 个字节。为什么?


这是代码:


package main


import (

    "fmt"

    "net/http"

    "os"

)


func main() {

    file, err := os.Open("lala.txt")

    if err != nil {

        fmt.Printf("file open errrrr %v \n", err)

    }

    defer file.Close()


    resp, err := http.Post("http://requestb.in/11fta851", "text/plain", file)

    if err != nil {

        fmt.Printf("errrrr %v \n", err)

    } else {

        fmt.Printf("resp code %d \n", resp.StatusCode)

    }

}

我知道您可以对缓冲区执行“file.ReadAll”并使用它。但感觉像是双重工作。


忽然笑
浏览 127回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答