package com.yago.epidemic_management.controller;
import com.yago.epidemic_management.model.dto.add.AddIconDto;
import com.yago.epidemic_management.model.pojo.Icon;
import com.yago.epidemic_management.service.IconService;
import com.yago.epidemic_management.service.OssService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import static com.yago.epidemic_management.common.Constant.UPLOAD_PATH_PREFIX;
import static com.yago.epidemic_management.common.Constant.uploadPath;
/**
* @Author: YaGo
* @Date: 2022/4/9 22:43
* Description:
**/
@RestController
@RequestMapping("/icon")
public class IconController {
@Autowired
IconService iconService;
@Autowired
OssService ossService;
// OSS单文件上传
@ApiOperation("OOS单文件上传")
@RequestMapping(value = ("/oosFile/upload"), headers = ("content-type=multipart/*"), method = RequestMethod.POST)
public Object OOSFileUpload(@RequestParam("file") MultipartFile multipartFile) {
String path = ossService.uploadIcon(multipartFile);
Map<String, Object> map = new HashMap();
map.put("status", 200);
map.put("msg", "成功");
map.put("data", path);
return map;
}
//本机上传图片
@ApiOperation("本机单文件上传")
@RequestMapping(value = ("/file/upload"), headers = ("content-type=multipart/*"), method = RequestMethod.POST)
public Object fileUpload(@RequestParam("file") MultipartFile multipartFile) {
Map<String, Object> map = new HashMap();
map.put("status", 10000);
map.put("msg", "上传成功");
if (multipartFile.isEmpty()) {
map.put("status", 10019);
map.put("msg", "空文件");
map.put("data", null);
return map;
}
// 获取文件名
String fileName = multipartFile.getOriginalFilename();
if ("".equals(fileName)) {
map.put("status", 10020);
map.put("msg", "文件名不能为空");
map.put("data", null);
return map;
}
System.out.println("上传文件原始的名字: " + fileName);
//获取原始名字后缀
String subName = fileName.substring(fileName.lastIndexOf("."));
// 使用uuid生成新文件名
UUID uuid = UUID.randomUUID();
String newFileName = uuid + subName;
System.out.println("保存的文件的新名字: " + newFileName);
// 保存在icons文件夹下
String format = "icons";
// 生成文件路径
File readPath = new File(UPLOAD_PATH_PREFIX + uploadPath + File.separator + format);
System.out.println("存放的文件夹: " + readPath);
System.out.println("存放文件的绝对路径: " + readPath.getAbsolutePath());
// 判断文件夹是否存在
if (!readPath.isDirectory()) {
// 创建文件夹
readPath.mkdirs();
}
// 文件真实的保存路径
File file = new File(readPath.getAbsolutePath() + File.separator + newFileName);
try {
multipartFile.transferTo(file);
// 获取存储路径:http://localhost:8081/uploadFile/icons/df828716-fbd8-42df-94d3-41b7292afeca.jpg
String filePath = uploadPath + "/" + format + "/" + newFileName;
map.put("path", filePath);
} catch (IOException e) {
e.printStackTrace();
map.put("status", 10021);
map.put("msg", "上传失败");
map.put("data", null);
}
return map;
}
@ApiOperation("上传路径到数据库")
@RequestMapping("/add")
public Map addIcon(@Validated @RequestBody AddIconDto addIconDto) {
iconService.addIcon(addIconDto);
Map<String, Object> map = new HashMap<>();
map.put("status", 10000);
map.put("msg", "添加成功");
map.put("data", null);
return map;
}
@GetMapping("/queryIcon")
public Map<String, Object> queryIcon(@RequestParam String userId) {
Icon icon = iconService.queryIcon(userId);
Map<String, Object> map = new HashMap<>();
map.put("status", 10000);
map.put("msg", "请求成功");
map.put("data", icon);
return map;
}
// 传统手艺
@PostMapping("/upload")
public Object upload(@RequestParam("file") MultipartFile multipartFile) {
Map<String, Object> map = new HashMap();
map.put("msg", "上传成功");
if (multipartFile.isEmpty()) {
return "文件不能为空";
}
String fileName = multipartFile.getOriginalFilename();
if ("".equals(fileName)) {
return "文件名不能为空";
}
System.out.println("文件名: " + fileName);
File readPath = new File(UPLOAD_PATH_PREFIX + uploadPath + File.separator + "temp");
if (!readPath.isDirectory()) {
readPath.mkdirs();
}
System.out.println("保存路径: " + readPath);
InputStream is = null;
FileOutputStream os = null;
try {
is = multipartFile.getInputStream();
os = new FileOutputStream(new File(readPath, fileName));
int len = 0;
byte[] bytes = new byte[1024];
while ((len = is.read(bytes)) != -1) {
os.write(bytes, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
map.put("msg", "上传失败");
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return map;
}
// 多文件上传
@PostMapping("/uploads")
public String uploads(HttpServletRequest request) {
List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles("file");
for (MultipartFile file : files) {
if (file.isEmpty()) {
return file.getOriginalFilename() + "上传失败";
}
File readPath = new File(UPLOAD_PATH_PREFIX + uploadPath + File.separator + "temps");
System.out.println("多文件上传的位置: " + readPath);
System.out.println("多文件上传的绝对路径: " + readPath.getAbsolutePath());
if (!readPath.isDirectory()) {
readPath.mkdirs();
}
File dest = new File(readPath.getAbsolutePath() + File.separator + file.getOriginalFilename());
try {
file.transferTo(dest);
} catch (IOException e) {
e.printStackTrace();
return file.getOriginalFilename() + "上传失败";
}
}
return "上传成功";
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip
共318个文件
xml:135个
java:93个
js:37个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 41 浏览量
2024-02-27
14:03:39
上传
评论
收藏 7.58MB ZIP 举报
温馨提示
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于前后端分离的后台结合Echarts实现对疫情期间对社区人员出行、健康信息、防疫物资、疫情分布、通知等数据可视化管理等.zip (318个子文件)
chunk-vendors.7518329a.css 211KB
app.5d7e4a83.css 18KB
index.css 1KB
33.7e565cbf.css 726B
399.2ee880fc.css 183B
185.fdf96f17.css 50B
.gitignore 585B
.gitignore 0B
index.html 1KB
index.html 946B
favicon.ico 4KB
epidemic-management.iml 13KB
IconController.java 7KB
UserServiceImpl.java 7KB
UserController.java 6KB
GoodsController.java 5KB
OssService.java 5KB
LeaveController.java 4KB
BigDataServiceImpl.java 4KB
DivideServiceImpl.java 4KB
AdminController.java 4KB
LeaveServiceImpl.java 4KB
ReturnServiceImpl.java 4KB
MyMvcConfig.java 3KB
JWTUtils.java 3KB
RegisterServiceImpl.java 3KB
ReturnController.java 3KB
GlobalExceptionHandler.java 3KB
HodoMeterController.java 3KB
RegisterController.java 3KB
CodeController.java 3KB
RoleInterceptor.java 3KB
HodoMeterServiceImpl.java 3KB
InfoController.java 3KB
DivideController.java 3KB
TestController.java 2KB
LoginInterceptor.java 2KB
UpdateRegisterDto.java 2KB
GoodsServiceImpl.java 2KB
AddRegisterDto.java 2KB
Register.java 2KB
WebLogAspect.java 2KB
CodeServiceImpl.java 2KB
UpdateLeaveDto.java 2KB
InfoServiceImpl.java 2KB
UpdateReturn.java 2KB
Return.java 2KB
AddLeaveDto.java 2KB
AddReturn.java 2KB
ResultResponse.java 2KB
Leave.java 2KB
User.java 2KB
BigDataController.java 2KB
AddCode.java 2KB
IconServiceIpml.java 2KB
UpdateHodoMeter.java 2KB
ExceptionEnum.java 1KB
Code.java 1KB
QueryInfoDto.java 1KB
HodoMeter.java 1KB
UpdateInfoDto.java 1KB
CodeVo.java 1KB
AddHodoMeter.java 1KB
AddIconDto.java 1KB
ServiceUtil.java 1KB
UpdateGoods.java 1KB
AddGoodsDto.java 1KB
Goods.java 1KB
Icon.java 1KB
ParamVo.java 1KB
SwaggerConfig.java 1KB
Constant.java 1KB
CorsConfig.java 1KB
Info.java 1KB
AdminUpdateUserDto.java 1KB
MD5Utils.java 961B
UserMapper.java 941B
AddUserDto.java 930B
ReturnMapper.java 905B
UserService.java 885B
UserDto.java 857B
UpdateUserDto.java 853B
ReturnService.java 778B
HodoMeterMapper.java 695B
LeaveMapper.java 686B
RegisterMapper.java 681B
Test.java 639B
GoodsService.java 633B
MyException.java 617B
LeaveService.java 614B
InfoMapper.java 608B
RegisterService.java 599B
CodeMapper.java 599B
SevenDayDo.java 596B
CodeService.java 595B
IconMapper.java 590B
DivideService.java 577B
BigDataMapper.java 573B
HodoMeterService.java 559B
EpidemicManagementApplication.java 544B
共 318 条
- 1
- 2
- 3
- 4
资源评论
辣椒种子
- 粉丝: 3425
- 资源: 5723
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功