douzhen5158 2018-11-22 08:20
浏览 61
已采纳

我可以通过Golang将图像上传到Imgur吗

I want upload image to Imgur via Golang(framework:Gin)

Like front-end[upload] > [golang] > [imgur] > [response] > [DB]

My Code:

 APIURL := "https://api.imgur.com/3/image"
 file, err := c.FormFile("FILE")
 if err != nil{
   panic(err)
 }
 fileOpen,err := file.Open()
 if err != nil{
   panic(err)
 }
 defer fileOpen.Close()
 req, _ := http.NewRequest("POST",APIURL,strings.NewReader("image="+file.Filename))
 req.Header.Add("content-type", "multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW")
 req.Header.Add("Authorization", "Bearer ---------------------------")
 req.Header.Add("Cache-Control", "no-cache")
 client := &http.Client{}
 res, _ := client.Do(req)
 defer res.Body.Close()
 body, _ := ioutil.ReadAll(res.Body)
 fmt.Println(res)
 fmt.Println(string(body))

It response "error":"No image data was sent to the upload api"

  • 写回答

1条回答 默认 最新

  • dtujfmfs06058 2018-11-22 08:47
    关注

    Try this upload function

    // image is any reader
    func upload(image io.Reader, token string) {
        var buf = new(bytes.Buffer)
        writer := multipart.NewWriter(buf)
    
        part, _ := writer.CreateFormFile("image", "dont care about name")
        io.Copy(part, image)
    
        writer.Close()
        req, _ := http.NewRequest("POST", "https://api.imgur.com/3/image", buf)
        req.Header.Set("Content-Type", writer.FormDataContentType())
        req.Header.Set("Authorization", "Bearer "+token)
    
        client := &http.Client{}
        res, _ := client.Do(req)
        defer res.Body.Close()
        b, _ := ioutil.ReadAll(res.Body)
        fmt.Println(string(b))
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图