From b39b4f21f240ab07f97e98867c2a5b127325c052 Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Fri, 4 Jul 2025 17:24:38 +0800 Subject: [PATCH] =?UTF-8?q?fit:=20=E5=AE=8C=E5=96=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E9=9A=8F=E6=8B=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobileSupervision/PhotoController.java | 29 +++++++++++++++++-- .../supervision/pojo/entity/SupPhoto.java | 4 +++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/mobileSupervision/PhotoController.java b/src/main/java/com/biutag/supervision/controller/mobileSupervision/PhotoController.java index c91aea8..54e25c8 100644 --- a/src/main/java/com/biutag/supervision/controller/mobileSupervision/PhotoController.java +++ b/src/main/java/com/biutag/supervision/controller/mobileSupervision/PhotoController.java @@ -1,17 +1,25 @@ package com.biutag.supervision.controller.mobileSupervision; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.dto.FileBase64Dto; import com.biutag.supervision.pojo.entity.SupPhoto; import com.biutag.supervision.pojo.model.UserAuth; import com.biutag.supervision.pojo.vo.PhotoGroupVo; +import com.biutag.supervision.service.FileService; import com.biutag.supervision.service.SupPhotoService; +import com.biutag.supervision.util.ImgUtils; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.io.ByteArrayInputStream; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.Base64; import java.util.Comparator; import java.util.List; import java.util.Map; @@ -21,6 +29,7 @@ import java.util.stream.Collectors; * @author wxc * @date 2025/4/20 */ +@Slf4j @RequestMapping("photo") @RequiredArgsConstructor @RestController @@ -28,6 +37,8 @@ public class PhotoController { private final SupPhotoService photoService; + private final FileService fileService; + @GetMapping public Result> list() { UserAuth user = UserContextHolder.getCurrentUser(); @@ -43,12 +54,26 @@ public class PhotoController { } @PostMapping - public Result add(@RequestBody SupPhoto photo) { + public Result add(@RequestBody FileBase64Dto file) { + log.info("文件BASE64上传 upload------------------------------"); + String base64 = file.getBase64(); + if (base64.contains(",")) { + base64 = base64.substring(base64.indexOf(",") + 1); + } + byte[] decodedBytes = Base64.getDecoder().decode(base64); + ByteArrayInputStream is = new ByteArrayInputStream(decodedBytes); + String extName = FileUtil.extName(file.getOriginalFilename()); + String filePath = fileService.upload(is, is.available(), StrUtil.isNotBlank(extName)? extName : "png"); + SupPhoto photo = new SupPhoto(); + photo.setFilePath(filePath); photo.setCreateTime(LocalDateTime.now()); photo.setDate(LocalDate.now().toString()); UserAuth user = UserContextHolder.getCurrentUser(); photo.setCreateUsername(user.getUserName()); - return Result.success(photoService.save(photo)); + // 创建缩略图 + photo.setThumbnailBase64(ImgUtils.createSquareThumbnailBase64(is, 100)); + photoService.save(photo); + return Result.success(photo); } } diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupPhoto.java b/src/main/java/com/biutag/supervision/pojo/entity/SupPhoto.java index 7225312..3ade2d0 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupPhoto.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupPhoto.java @@ -35,4 +35,8 @@ public class SupPhoto { // 创建用户 private String createUsername; + private Boolean isUse = false; + + private String thumbnailBase64; + } \ No newline at end of file