feat(admin): 添加用户编辑及多文件上传功能
- 新增用户编辑页面及路由支持 GET /user/edit 和 POST /user/doEdit - 实现多文件上传接口,支持上传两个头像文件并保存 - 完善单文件上传接口,增加目录创建及错误处理 - 增加首页设置和获取 cookie 功能,支持 cookie 删除接口 - 修改路由配置,新增删除 cookie 路由 /deletecookie - 新增用户编辑页面模板,示范多文件上传表单布局
This commit is contained in:
@@ -24,29 +24,70 @@ func (con UserController) Show(c *gin.Context) {
|
||||
}
|
||||
|
||||
func (con UserController) DoUpload(c *gin.Context) {
|
||||
// 获取表单中的用户名
|
||||
username := c.PostForm("username")
|
||||
|
||||
// 获取上传的文件
|
||||
file, err := c.FormFile("face")
|
||||
if err != nil {
|
||||
c.JSON(400, gin.H{"error": "获取文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// 创建上传目录
|
||||
uploadDir := "./upload"
|
||||
if err := os.MkdirAll(uploadDir, os.ModePerm); err != nil {
|
||||
c.JSON(500, gin.H{"error": "创建目录失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// 构建目标文件路径并保存文件
|
||||
dst := filepath.Join(uploadDir, file.Filename)
|
||||
if err := c.SaveUploadedFile(file, dst); err != nil {
|
||||
c.JSON(500, gin.H{"error": "保存文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// 返回成功响应
|
||||
c.JSON(200, gin.H{
|
||||
"success": true,
|
||||
"username": username,
|
||||
"dst": dst,
|
||||
})
|
||||
}
|
||||
|
||||
func (con UserController) DoEdit(c *gin.Context) {
|
||||
username := c.PostForm("username")
|
||||
file1, err := c.FormFile("face1")
|
||||
if err != nil {
|
||||
c.JSON(400, gin.H{"error": "获取文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
uploadDir := "./upload"
|
||||
dst := filepath.Join(uploadDir, file1.Filename)
|
||||
if err := c.SaveUploadedFile(file1, dst); err != nil {
|
||||
c.JSON(500, gin.H{"error": "保存文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
file2, err := c.FormFile("face2")
|
||||
if err != nil {
|
||||
c.JSON(400, gin.H{"error": "获取文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
dst1 := filepath.Join(uploadDir, file2.Filename)
|
||||
if err := c.SaveUploadedFile(file2, dst1); err != nil {
|
||||
c.JSON(500, gin.H{"error": "保存文件失败: " + err.Error()})
|
||||
return
|
||||
}
|
||||
c.JSON(200, gin.H{
|
||||
"success": true,
|
||||
"username": username,
|
||||
"dst": dst,
|
||||
"dst1": dst1,
|
||||
})
|
||||
}
|
||||
|
||||
func (con UserController) Edit(c *gin.Context) {
|
||||
c.HTML(200, "admin/useredit", gin.H{})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user