file.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package utils
  2. import (
  3. "io/ioutil"
  4. "mime/multipart"
  5. "os"
  6. "path"
  7. )
  8. // 获取文件大小
  9. func GetSize(f multipart.File) (int, error) {
  10. content, err := ioutil.ReadAll(f)
  11. return len(content), err
  12. }
  13. // 获取文件后缀
  14. func GetExt(fileName string) string {
  15. return path.Ext(fileName)
  16. }
  17. //检查文件是否存在
  18. func CheckExist(src string) bool {
  19. _, err := os.Stat(src)
  20. return os.IsNotExist(err)
  21. }
  22. // 检查文件权限
  23. func CheckPermission(src string) bool {
  24. _, err := os.Stat(src)
  25. return os.IsPermission(err)
  26. }
  27. //如果不存在则新建文件夹
  28. func IsNotExistMkDir(src string) error {
  29. if exist := CheckExist(src); exist == false {
  30. if err := MkDir(src); err != nil {
  31. return err
  32. }
  33. }
  34. return nil
  35. }
  36. //新建文件夹
  37. func MkDir(src string) error {
  38. err := os.MkdirAll(src, os.ModePerm)
  39. if err != nil {
  40. return err
  41. }
  42. return nil
  43. }
  44. // 打开文件
  45. func Open(name string, flag int, perm os.FileMode) (*os.File, error) {
  46. f, err := os.OpenFile(name, flag, perm)
  47. if err != nil {
  48. return nil, err
  49. }
  50. return f, nil
  51. }