copy.go 522 B

12345678910111213141516171819202122232425262728293031
  1. package helper
  2. import (
  3. "io"
  4. "os"
  5. )
  6. func CopyFile(src, dst string) (int64, error) {
  7. sourceFileStat, err := os.Stat(src)
  8. if err != nil {
  9. return 0, err
  10. }
  11. if !sourceFileStat.Mode().IsRegular() {
  12. return 0, nil
  13. }
  14. source, err := os.Open(src)
  15. if err != nil {
  16. return 0, err
  17. }
  18. defer source.Close()
  19. destination, err := os.Create(dst)
  20. if err != nil {
  21. return 0, err
  22. }
  23. defer destination.Close()
  24. return io.Copy(destination, source)
  25. }