package services import ( "fmt" "github.com/aliyun/aliyun-oss-go-sdk/oss" "os" "strings" "time" "hongze/hongze_cygx/utils" ) /* 上传demo func init() { fmt.Println("start") randStr := utils.GetRandStringNoSpecialChar(28) fileName := randStr + ".jpg" fmt.Println("fileName:",fileName) fpath:="./1.png" resourceUrl,err:=UploadAliyun(fileName,fpath) if err!=nil { fmt.Println("UploadAliyun Err:",err.Error()) return } fmt.Println("resourceUrl:",resourceUrl) fmt.Println("end") } */ // 图片上传到阿里云 func UploadAliyun(filename, filepath string) (string, error) { client, err := oss.New(utils.Endpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return "1", err } bucket, err := client.Bucket(utils.Bucketname) if err != nil { return "2", err } path := utils.Upload_dir + time.Now().Format("200601/20060102/") path += filename err = bucket.PutObjectFromFile(path, filepath) if err != nil { return "3", err } path = utils.Imghost + path return path, err } // 音频上传到阿里云 func UploadAudioAliyun(filename, filepath string) (string, error) { client, err := oss.New(utils.Endpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return "1", err } bucket, err := client.Bucket(utils.Bucketname) if err != nil { return "2", err } path := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/") path += filename err = bucket.PutObjectFromFile(path, filepath) if err != nil { return "3", err } path = utils.Imghost + path return path, err } // 视频上传到阿里云 func UploadVideoAliyun(filename, filepath, savePath string) error { defer func() { os.Remove(filepath) }() client, err := oss.New(utils.Endpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return err } bucket, err := client.Bucket(utils.Bucketname) if err != nil { return err } //path := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/") //path += filename err = bucket.PutObjectFromFile(savePath, filepath) if err != nil { return err } //path = utils.Imghost + path //return path,err return err } // PDF上传到阿里云 func UploadPdfAliyun(filename, filepath string) (string, error) { client, err := oss.New(utils.Endpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return "1", err } bucket, err := client.Bucket(utils.Bucketname) if err != nil { return "2", err } path := utils.Upload_Pdf_Dir + time.Now().Format("200601/20060102/") path += filename err = bucket.PutObjectFromFile(path, filepath) if err != nil { return "3", err } path = utils.Imghost + path return path, err } const ( HzEndpoint = "oss-cn-shanghai.aliyuncs.com" HzBucketName string = "hzchart" ) // 上传文件到阿里云 func UploadFileToAliyun(filename, filepath, savePath string) error { defer func() { os.Remove(filepath) }() client, err := oss.New(HzEndpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return err } bucket, err := client.Bucket(HzBucketName) if err != nil { return err } //path := utils.Upload_Audio_Dir + time.Now().Format("200601/20060102/") //path += filename err = bucket.PutObjectFromFile(savePath, filepath) if err != nil { return err } //path = utils.Imghost + path //return path,err return err } // GetCloudDiskResourceFileTypeExtMap 常见文件类型图标 func GetCloudDiskResourceFileTypeExtMap() map[string]string { return map[string]string{ ".doc": "https://hzstatic.hzinsights.com/static/icon/file_type_docx.png", ".docx": "https://hzstatic.hzinsights.com/static/icon/file_type_docx.png", ".pdf": "https://hzstatic.hzinsights.com/static/icon/file_type_pdf.png", ".ppt": "https://hzstatic.hzinsights.com/static/icon/file_type_ppt.png", ".pptx": "https://hzstatic.hzinsights.com/static/icon/file_type_ppt.png", ".xls": "https://hzstatic.hzinsights.com/static/icon/file_type_xlsx.png", ".xlsx": "https://hzstatic.hzinsights.com/static/icon/file_type_xlsx.png", ".jpg": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".jpeg": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".png": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".bmp": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".svg": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".gif": "https://hzstatic.hzinsights.com/static/icon/file_type_pic.png", ".mp4": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".wmv": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".mov": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".mpeg": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".avi": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".flv": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".rm": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".rmvb": "https://hzstatic.hzinsights.com/static/icon/file_type_video.png", ".mp3": "https://hzstatic.hzinsights.com/static/icon/file_type_audio.png", ".wma": "https://hzstatic.hzinsights.com/static/icon/file_type_audio.png", } } //func init() { // DeleteUploadFileToAliyun("https://hzstatic.hzinsights.com/static/images/htm2img/9iElUd8oxpWgggf5pcKOCB8LZTiB.jpg") //} // 根据图片路径删除阿里云上的文件 func DeleteUploadFileToAliyun(imgUrl string) error { var err error defer func() { if err != nil { fmt.Println("err:", err) go utils.SendAlarmMsg("删除Oss图片失败, Err:"+err.Error()+"图片路径:"+imgUrl, 3) } }() client, err := oss.New(HzEndpoint, utils.AccessKeyId, utils.AccessKeySecret) if err != nil { return err } bucket, err := client.Bucket(HzBucketName) if err != nil { return err } var objectName string sliceObj := strings.Split(imgUrl, ".com/") if len(sliceObj) == 2 { objectName = sliceObj[1] } if objectName == "" { return err } fmt.Println(objectName) //return err // 如需删除文件夹,请将objectName设置为对应的文件夹名称。如果文件夹非空,则需要将文件夹下的所有object删除后才能删除该文件夹。 //objectName = "static/images/htm2img/G32q2Lgp6soeh7xOW12yfZ4zC2uK.jpg" // 删除单个文件。 err = bucket.DeleteObject(objectName) if err != nil { return err } return err }