From 33f6fb3bab76aebdfcb3c3bc558894ae514912e7 Mon Sep 17 00:00:00 2001 From: haotianmingyue <2421912570@qq.com> Date: Fri, 25 Oct 2024 14:04:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E6=9B=B4=E6=96=B0=E6=98=B5=E7=A7=B0?= =?UTF-8?q?=E5=92=8C=E4=BB=8B=E7=BB=8D=E6=8E=A5=E5=8F=A3=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=9B=B4=E6=96=B0=E5=A4=B4=E5=83=8F=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/AppSystemController.java | 44 ++++++++++++++++--- .../system/domain/dto/UpdateNickSignDto.java | 10 +++++ 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java index 246586f4..0b7f0aa7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/app/AppSystemController.java @@ -402,21 +402,53 @@ public class AppSystemController { return ajax; } @PostMapping("/updateNickSign") - public AjaxResult updateUserInfo(@RequestBody UpdateNickSignDto updateNickSignDto) + public AjaxResult updateUserInfo(@RequestParam("updateNickSignDto") String updateNickSignDt,@RequestParam("avatar") MultipartFile avatarImage) { - String username = updateNickSignDto.getUsername(); + UpdateNickSignDto updateNickSignDto = GsonUtils.fromJson(updateNickSignDt, UpdateNickSignDto.class); + String userName = updateNickSignDto.getUsername(); String nickName = updateNickSignDto.getNickname(); String signature = updateNickSignDto.getSignature(); - System.out.println(username+nickName+signature); - boolean f1 = sysUserService.updateNickName(username,nickName); - boolean f2 = userInfoService.updateSignature(username, signature); +// System.out.println(username+nickName+signature); + boolean f1 = sysUserService.updateNickName(userName,nickName); + boolean f2 = userInfoService.updateSignature(userName, signature); if(f1==false || f2==false){ return error("更新昵称和介绍失败"); } - return AjaxResult.success(); + String localPath = RuoYiConfig.getProfile(); + //头像图片 + if (avatarImage.isEmpty()) { + return error("头像文件为空"); + } + // 验证文件类型(可选,这里只允许jpg,jpeg和png格式) + String fileType = avatarImage.getContentType().split("/")[1].toLowerCase(); + if (!"jpg".equals(fileType) && !"jpeg".equals(fileType) && !"png".equals(fileType)) { + return error("只支持jpg和png格式的图片"); + } + String filePath = localPath + "/avatar"; + try { + // 保存文件到服务器 + avatarImage.transferTo(new File(filePath, userName+"_avatar.jpg")); + boolean flag = sysUserService.updateUserAvatar(userName,filePath+"/"+userName+"_avatar.jpg"); + if (flag){ + AjaxResult ajax = success(); + ajax.put("上传头像地址", filePath+"/"+userName+"_avatar.jpg"); + return ajax;// 可以返回文件的相对路径或URL给前端 + } + else{ + return error("修改头像失败"); + } + + } catch (IOException e) { + e.printStackTrace(); + return error("头像文件上传失败"); + } + + + +// return AjaxResult.success(); } @PostMapping("/createWork") public AjaxResult createWork(@RequestParam("userWorkDto") String userWorkDto diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateNickSignDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateNickSignDto.java index 0cd80e02..b0bcc791 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateNickSignDto.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/UpdateNickSignDto.java @@ -1,9 +1,12 @@ package com.ruoyi.system.domain.dto; +import org.springframework.web.multipart.MultipartFile; + public class UpdateNickSignDto { private String username; private String nickname; private String signature; + private MultipartFile avatar; public String getUsername() { return username; @@ -24,5 +27,12 @@ public class UpdateNickSignDto { this.signature = signature; } + public MultipartFile getAvatar() { + return avatar; + } + public void setAvatar(MultipartFile avatar) { + this.avatar = avatar; + } + }