context.go 688 B

1234567891011121314151617181920212223242526272829303132333435
  1. package api
  2. import (
  3. "git.sxidc.com/go-framework/baize/framework/core/infrastructure/logger"
  4. "github.com/gin-gonic/gin"
  5. "io"
  6. "mime/multipart"
  7. )
  8. type Context struct {
  9. *gin.Context
  10. }
  11. // GetFileHeaderBytes 获取传递的文件名和文件内容
  12. func (c *Context) GetFileHeaderBytes(fileHeader *multipart.FileHeader) (string, []byte, error) {
  13. file, err := fileHeader.Open()
  14. if err != nil {
  15. return "", nil, err
  16. }
  17. defer func(file multipart.File) {
  18. err := file.Close()
  19. if err != nil {
  20. logger.GetInstance().Error(err)
  21. return
  22. }
  23. }(file)
  24. contentBytes, err := io.ReadAll(file)
  25. if err != nil {
  26. return "", nil, err
  27. }
  28. return fileHeader.Filename, contentBytes, nil
  29. }