Go 语言同时上传多个图片或文件

2021-05-08  乐帮网

go

Go语言写的一个同时上传多个图片示例,上传的同时并携带身份标识token

package main

import (
  "fmt"
  "bytes"
  "mime/multipart"
  "os"
  "path/filepath"
  "io"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "http://localhost:16841/Terminal/UploadImage"
  method := "POST"

  payload := &bytes.Buffer{}
  writer := multipart.NewWriter(payload)
  file, errFile1 := os.Open("/C:/Users/Administrator/Desktop/001.JPG")
  defer file.Close()
  part1,
         errFile1 := writer.CreateFormFile("file1",filepath.Base("/C:/Users/Administrator/Desktop/001.JPG"))
  _, errFile1 = io.Copy(part1, file)
  if errFile1 != nil {
    fmt.Println(errFile1)
    return
  }
  file, errFile2 := os.Open("/C:/Users/Administrator/Desktop/002.png")
  defer file.Close()
  part2,
         errFile2 := writer.CreateFormFile("file2",filepath.Base("/C:/Users/Administrator/Desktop/002.png"))
  _, errFile2 = io.Copy(part2, file)
  if errFile2 != nil {
    fmt.Println(errFile2)
    return
  }
  err := writer.Close()
  if err != nil {
    fmt.Println(err)
    return
  }


  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer w4jHsjK0tH6FadyTrIWJjsdd0JYuHGH7cDZRn9VBxsC5JugP2PgK30dxE1hyrFPMBV2PHZEcdDqMSRyaV8jYPkGYteCrqJpFQZ-wpA2hAjsJ-cX_pMLoxlcVVtQo_s728tXGeFUdq2FMZH9DmjU0pwY_UbslDByAEhuyemhq8XrwS_fXnnGwZ81SUYY9Jkd_7gigm_AFnkHU7efCUFht3zWSiTJM5Zz4ehBdikNlR187xX3KHirOZ5wxtBkn4pQ6")

  req.Header.Set("Content-Type", writer.FormDataContentType())
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力