upload.go 739 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package apis
  2. import (
  3. "duoduo/models/bizhi"
  4. "duoduo/tools/app"
  5. "encoding/base64"
  6. "github.com/gin-gonic/gin"
  7. "io/ioutil"
  8. "net/http"
  9. "strings"
  10. )
  11. func Upload(c *gin.Context) {
  12. //按照规则来
  13. inData := bizhi.UploadRequest{}
  14. outData := bizhi.UploadResponse{}
  15. err := c.ShouldBindJSON(&inData)
  16. if err != nil {
  17. app.Error(c, 400, err, err.Error())
  18. return
  19. }
  20. res, err := http.Get(inData.PictureUrl)
  21. if err != nil {
  22. app.Error(c, 500, err, err.Error())
  23. return
  24. }
  25. defer res.Body.Close()
  26. data, _ := ioutil.ReadAll(res.Body)
  27. str := base64.StdEncoding.EncodeToString(data)
  28. pos := strings.LastIndex(inData.PictureUrl, "/")
  29. outData.Base = str
  30. outData.Name = inData.PictureUrl[pos+1:]
  31. app.OK(c, outData, app.Success)
  32. }