生成缩略图;增大图片上传大小限制

This commit is contained in:
LeonardYoung
2021-10-29 21:32:24 +08:00
parent 74967faef3
commit d430360d38
9 changed files with 177 additions and 12 deletions

View File

@ -3,13 +3,15 @@ package com.ruoyi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* 启动程序
*
*
* @author ruoyi
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@EnableAsync
public class RuoYiApplication
{
public static void main(String[] args)

View File

@ -10,7 +10,10 @@ import com.ruoyi.common.core.page.VisualRespEmbData;
import com.ruoyi.system.service.impl.BladeVisualConfigServiceImpl;
import com.ruoyi.web.param.BladeVisualParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.util.unit.DataSize;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
@ -21,6 +24,7 @@ import com.ruoyi.system.service.IBladeVisualService;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.MultipartConfigElement;
import javax.servlet.http.HttpServletRequest;
/**
@ -105,7 +109,7 @@ public class BladeVisualController extends BaseController
String name = SecurityContextHolder.getContext().getAuthentication().getName();
param.getVisual().setUpdateBy(name);
param.getVisual().setUpdateTime(new Date());
int i = bladeVisualService.updateBladeVisual(param.getVisual());
int j = configService.updateBladeVisualConfig(param.getConfig());
@ -139,5 +143,6 @@ public class BladeVisualController extends BaseController
return bladeVisualService.uploadFile(file);
}
}

View File

@ -5,14 +5,22 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.system.service.impl.VisualImageServiceImpl;
import com.ruoyi.web.param.VisualImageAddParam;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.util.unit.DataSize;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
@ -24,6 +32,8 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.MultipartConfigElement;
/**
* 图片管理。管理上传的图片Controller
*
@ -83,13 +93,27 @@ public class VisualImageController extends BaseController
{
String name = SecurityContextHolder.getContext().getAuthentication().getName();
visualImage.setCreateBy(name);
visualImageService.saveThumb(visualImage);
// 切割图片是异步进行的
visualImageService.divideImage(visualImage);
return toAjax(visualImageService.insertVisualImage(visualImage));
}
// @Value("${imageDir.visualImage}")
// private String imageDir;
@PreAuthorize("@ss.hasPermi('system:image:query')")
@GetMapping("/link")
private AjaxResult getLink(@RequestParam String fileName){
IVisualImageService vService = SpringUtils.getBean(IVisualImageService.class);
Map<String, String> map = vService.getLink(fileName);
if (map == null) {
return AjaxResult.error("文件名错误");
}
return AjaxResult.success(map);
}
// @PreAuthorize("@ss.hasPermi('system:image:add')")
// @Log(title = "图片管理。管理上传的图片", businessType = BusinessType.INSERT)
@ -143,6 +167,20 @@ public class VisualImageController extends BaseController
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
// todo 删除本地图片
return toAjax(visualImageService.deleteVisualImageByIds(ids));
}
@Value("${imageDir.maxImageMB}")
private Integer maxImage;
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setMaxRequestSize(DataSize.ofMegabytes(maxImage));
factory.setMaxFileSize(DataSize.ofMegabytes(maxImage));
return factory.createMultipartConfig();
}
}

View File

@ -9,8 +9,8 @@ ruoyi:
# 实例演示开关
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
# profile: F:/ruoyi/uploadPath
profile: /home/yangsj/bigScreen
profile: F:/ruoyi/uploadPath
# profile: /home/yangsj/bigScreen
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数组计算 char 字符验证
@ -21,6 +21,11 @@ imageDir:
bigScreen: /overview
# 其他图片存放文件夹名
visualImage: /images
# 缩略图宽高
width: 100
height: 100
# 上传图片最大MB
maxImageMB: 300
# 开发环境配置