diff --git a/app/http/controller/web/encounter_controller.go b/app/http/controller/web/encounter_controller.go index 3265b7f..cdd6b0b 100644 --- a/app/http/controller/web/encounter_controller.go +++ b/app/http/controller/web/encounter_controller.go @@ -23,8 +23,8 @@ func (e *Encounters) Create(context *gin.Context) { avatar := photos[0] avatarWidth := variable.ConfigYml.GetFloat64("FileUploadSetting.AvatarWidth") - srcPath := filepath.Join(variable.BasePath, "encounterPhotos", "hum_"+userId, avatar) - dstPath := filepath.Join(variable.BasePath, "encounterAvatar", "hum_"+userId, avatar) + srcPath := filepath.Join(variable.BasePath, variable.ConfigYml.GetString("FileUploadSetting.UploadFileSavePath"), "encounterPhotos", "hum_"+userId, avatar) + dstPath := filepath.Join(variable.BasePath, variable.ConfigYml.GetString("FileUploadSetting.UploadFileSavePath"), "encounterAvatar", "hum_"+userId, avatar) avatarHeight, err := upload_file.ResizeImage(srcPath, dstPath, int(avatarWidth)) if err != nil { response.Fail(context, consts.FilesUploadFailCode, consts.FilesUploadFailMsg, "") diff --git a/app/service/upload_file/image_file.go b/app/service/upload_file/image_file.go index f4f87a5..1938965 100644 --- a/app/service/upload_file/image_file.go +++ b/app/service/upload_file/image_file.go @@ -3,8 +3,8 @@ package upload_file import ( "catface/app/global/variable" "image" - // "image/jpeg" "os" + "path/filepath" "github.com/disintegration/imaging" ) @@ -39,15 +39,16 @@ func ResizeImage(srcPath string, dstPath string, targetWidth int) (targetHeight targetHeight = int(float64(srcHeight) * (float64(targetWidth) / float64(srcWidth))) // 创建目标图片 - dstImg := imaging.Thumbnail(srcImg, targetWidth, targetHeight, imaging.Lanczos) + dstImg := imaging.Resize(srcImg, targetWidth, targetHeight, imaging.Lanczos) // image.NewRGBA(image.Rect(0, 0, targetWidth, targetHeight)) // 使用高质量的滤波算法进行缩放 // draw.CatmullRom.Scale(dstImg, dstImg.Bounds(), srcImg, srcImg.Bounds(), draw.Over, nil) // Save // 相关路径不存在,创建目录 - if _, err = os.Stat(dstPath); err != nil { - if err = os.MkdirAll(dstPath, os.ModePerm); err != nil { + dstFolderPath := filepath.Dir(dstPath) + if _, err = os.Stat(dstFolderPath); err != nil { + if err = os.MkdirAll(dstFolderPath, os.ModePerm); err != nil { variable.ZapLog.Error("文件上传创建目录出错" + err.Error()) return }