package utils import ( "io" "log" "os" ) func CopyFile(src, dst string) (string, error) { _, err := os.Stat(dst) if err == nil { return dst, nil } log.Printf("copying image: %s %s", src, dst) srcFile, err := os.Open(src) if err != nil { return dst, err } defer srcFile.Close() dstFile, err := os.Create(dst) if err != nil { return dst, err } defer dstFile.Close() _, err = io.Copy(dstFile, srcFile) if err != nil { return dst, err } return dst, dstFile.Sync() }