From 90f9311b8f92d84533860e374c2a38c16f8a6e7d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Aug 2022 18:01:27 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java
index 9b7517a..4216c52 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/controller/AdminCommonController.java
@@ -1,7 +1,9 @@
package com.xcong.farmer.cms.modules.system.controller;
+import cn.hutool.core.img.Img;
+import cn.hutool.core.img.ImgUtil;
+import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.StrUtil;
import com.xcong.farmer.cms.common.contants.AppContants;
import com.xcong.farmer.cms.common.response.Result;
import com.xcong.farmer.cms.modules.system.dto.AdminLoginDto;
@@ -9,14 +11,21 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import net.coobird.thumbnailator.Thumbnails;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import javax.imageio.ImageIO;
import javax.validation.Valid;
+import java.awt.image.BufferedImage;
import java.io.File;
+import java.io.FileOutputStream;
import java.io.IOException;
+
+import java.io.InputStream;
+import java.util.Map;
@RestController
@@ -32,6 +41,12 @@
@PostMapping("/login")
public Result login(@RequestBody @Valid AdminLoginDto adminLoginDto) {
return iCommonService.login(adminLoginDto);
+ }
+
+ @ApiOperation(value = "获取验证码", notes = "获取验证码")
+ @GetMapping("/captcha")
+ public Result captcha() throws IOException {
+ return iCommonService.captchaCreator();
}
/**
@@ -105,12 +120,15 @@
@Value("${static.resource.url}")
private String resourceUrl;
+ @Value("${static.resource.path}")
+ private String resourcePath;
+
@ApiOperation(value = "文件上传", notes = "文件上传")
@PostMapping("/uploadFile")
public Result uploadFile(@RequestParam("file") MultipartFile file) throws Exception {
// 文件保存目录路径
- String savePath = AppContants.PICTURE_PATH;
+ String savePath = resourcePath;
// 文件保存目录URL
String saveUrl = resourceUrl;
// 检查目录
@@ -118,19 +136,38 @@
if (!uploadDir.isDirectory()) {
uploadDir.mkdir();
}
- //获得文件的后缀
+
+
+ // 获得文件的后缀
String filename = IdUtil.simpleUUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
- File filepath = new File(savePath + filename);
- try {
- //存文件
- file.transferTo(filepath);
- } catch (IOException e) {
- e.printStackTrace();
+ if (isImage(file.getInputStream())) {
+ Thumbnails.of(file.getInputStream())
+ // 图片大小(长宽)压缩比例 从0-1,1表示原图
+ .scale(1f)
+ // 图片质量压缩比例 从0-1,越接近1质量越好
+ .outputQuality(0.5f)
+ .toOutputStream(new FileOutputStream(savePath + filename));
+ } else {
+ File filepath = new File(savePath + filename);
+ try {
+ //存文件
+ file.transferTo(filepath);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
}
+
String visitPath = (saveUrl + filename);
return Result.ok("上传成功",visitPath);
}
-
-
+ private boolean isImage(InputStream inputStream) {
+ BufferedImage read = null;
+ try {
+ read = ImageIO.read(inputStream);
+ } catch (IOException e) {
+ return false;
+ }
+ return read != null;
+ }
}
--
Gitblit v1.9.1