赞
踩
实现思路:
1. 两个接口实现,一个接对象数据(file),一个接文件数据(json)。
2. json对象(base64String) 实体类信息 ,请求体统一接收
3. file, String name ,String password ,String name ,
统一接收类型
- @PostMapping("/insertInfo")
- public R<Void> insertInfo(MultipartFile [] file, ExFeedback exFeedback) {
- return exFeedbackService.insertInfo(exFeedback, file);
- }
业务批量添加代码
- @Override
- public R<Void> insertInfo(ExFeedback exFeedback, MultipartFile[] files) {
- // 添加反馈内容表数据
- int insert = exFeedbackMapper.insert(exFeedback);
-
- // 循环遍历删除,添加图片数据
- for (MultipartFile file : files) {
- String fileName = file.getOriginalFilename();
-
- try {
- MinIOUtils.uploadFile(minIOConfig.getBucketName(), fileName, file.getInputStream());
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
-
- // 图片url路径
- String imgUrl = MinIOUtils.getBasisUrl() + fileName;
-
- // 添加图片数据
- ExImg exImg = new ExImg();
- exImg.setFeedbackId(exFeedback.getId());
- exImg.setImgUrl(imgUrl);
- exImg.setImgName(fileName);
- // 循环添加数据
- exImgMapper.insert(exImg);
- }
- return R.success();
- }

业务批量删除代码
- @Override
- public R<Void> removeByIdInfo(ExFeedback exFeedback) {
-
- // 删除反馈内容
- exFeedbackMapper.deleteById(exFeedback);
- // 获取图片
- List<ExImg> exImg = exImgMapper.selectList(new LambdaQueryWrapper<ExImg>().eq(ExImg::getFeedbackId, exFeedback.getId()));
-
- // 循环遍历删除服务器图片
- exImg.forEach(re -> {
- try {
- MinIOUtils.removeFile(minIOConfig.getBucketName(), re.getImgName());
- } catch (Exception e) {
- throw new RuntimeException("删除minio图片失败");
- }
- });
- // 循环遍历删除
- exImgMapper.deleteBatchIds(exImg);
- return R.success();
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。