Nic*_*Nex 6 httprequest go telegram-bot

我是 golang 的新手,我正在尝试编写一个函数,该函数将一个带有 post 请求的文件上传到我正在编写的机器人的电报。

Bad Request: there is no photo in the request

我在网上搜索过如何做到这一点,但我发现的一切都没有帮助我解决这个问题。

func SendPostRequest (url string, filename string) []byte {
    file, err := os.Open(filename)

    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()

    response, err := http.Post(url, "binary/octet-stream", file)

    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()

    content, err := ioutil.ReadAll(response.Body)

    if err != nil {
        log.Fatal(err)
    }

    return content
}

我正在调用 SendPostRequest 的函数是

func (e Engine) SendPhoto (filename string, chatId int64) APIResponse {
    var url = fmt.Sprintf("%ssendPhoto?chat_id=%d", e.baseUrl, chatId)

    var content []byte = SendPostRequest(url, filename)
    var response APIResponse

    json.Unmarshal(content, &response)
    return response
}