package user import ( "io" "mime/multipart" "os" "strings" ) //SaveVideoFileService 文件上传服务 func SaveVideoFileService(file *multipart.FileHeader, openid *string) (*string, error) { p := "./video/" + *openid _, err := os.Stat(p) if err != nil { if os.IsNotExist(err) { os.Mkdir(p, os.ModePerm) os.Chmod(p, 0755) } } src, err := file.Open() if err != nil { return nil, err } defer src.Close() //创建 dst 文件 fn := strings.TrimLeft(file.Filename, "tmp_") out, err := os.Create(p + `/` + fn) if err != nil { return nil, err } defer out.Close() // 拷贝文件 _, err = io.Copy(out, src) filename := out.Name() return &filename, err }