mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-11-06 01:03:43 +08:00
feat: delete the old avatar image file when update the user profile
This commit is contained in:
@@ -22,7 +22,7 @@ func NewUploadHandler(app *core.AppServer, db *gorm.DB, manager *oss.UploaderMan
|
||||
}
|
||||
|
||||
func (h *UploadHandler) Upload(c *gin.Context) {
|
||||
fileURL, err := h.uploaderManager.GetActiveService().PutFile(c)
|
||||
fileURL, err := h.uploaderManager.GetActiveService().PutFile(c, "file")
|
||||
if err != nil {
|
||||
resp.ERROR(c, fmt.Sprintf("文件上传失败: %s", err.Error()))
|
||||
return
|
||||
|
||||
@@ -3,6 +3,7 @@ package handler
|
||||
import (
|
||||
"chatplus/core"
|
||||
"chatplus/core/types"
|
||||
"chatplus/service/oss"
|
||||
"chatplus/store"
|
||||
"chatplus/store/model"
|
||||
"chatplus/store/vo"
|
||||
@@ -20,13 +21,19 @@ import (
|
||||
|
||||
type UserHandler struct {
|
||||
BaseHandler
|
||||
db *gorm.DB
|
||||
searcher *xdb.Searcher
|
||||
leveldb *store.LevelDB
|
||||
db *gorm.DB
|
||||
searcher *xdb.Searcher
|
||||
leveldb *store.LevelDB
|
||||
uploadManager *oss.UploaderManager
|
||||
}
|
||||
|
||||
func NewUserHandler(app *core.AppServer, db *gorm.DB, searcher *xdb.Searcher, levelDB *store.LevelDB) *UserHandler {
|
||||
handler := &UserHandler{db: db, searcher: searcher, leveldb: levelDB}
|
||||
func NewUserHandler(
|
||||
app *core.AppServer,
|
||||
db *gorm.DB,
|
||||
searcher *xdb.Searcher,
|
||||
levelDB *store.LevelDB,
|
||||
manager *oss.UploaderManager) *UserHandler {
|
||||
handler := &UserHandler{db: db, searcher: searcher, leveldb: levelDB, uploadManager: manager}
|
||||
handler.App = app
|
||||
return handler
|
||||
}
|
||||
@@ -256,6 +263,7 @@ func (h *UserHandler) ProfileUpdate(c *gin.Context) {
|
||||
}
|
||||
h.db.First(&user, user.Id)
|
||||
user.Nickname = data.Nickname
|
||||
oldAvatar := user.Avatar
|
||||
user.Avatar = data.Avatar
|
||||
|
||||
var chatConfig types.ChatConfig
|
||||
@@ -278,6 +286,14 @@ func (h *UserHandler) ProfileUpdate(c *gin.Context) {
|
||||
resp.ERROR(c, "更新用户信息失败")
|
||||
return
|
||||
}
|
||||
|
||||
// remove the old avatar image file
|
||||
if oldAvatar != data.Avatar {
|
||||
err = h.uploadManager.GetActiveService().Delete(oldAvatar)
|
||||
if err != nil {
|
||||
logger.Error("error with delete image: ", err)
|
||||
}
|
||||
}
|
||||
resp.SUCCESS(c)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user