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))
}