package file import ( "context" "errors" "fmt" "mime/multipart" "stat/common/proxy" ) type FileObject struct { File *multipart.FileHeader } // PutObject 上传文件 func PutObject(ctx context.Context, apiUrl string, fo *FileObject) (urlstr string, err error) { if fo.File == nil { err = errors.New("invalid file") return } file, err := fo.File.Open() if err != nil { err = errors.New(fmt.Sprintf("invalid file %+v", err)) return } defer file.Close() urlstr, err = proxy.PutObject(ctx, apiUrl, fo.File.Filename, file) return }