当前位置:   article > 正文

Java后端实现对象与文件接收数据(minio测试)

Java后端实现对象与文件接收数据(minio测试)

实现思路:

1. 两个接口实现,一个接对象数据(file),一个接文件数据(json)。

2. json对象(base64String) 实体类信息 ,请求体统一接收

3. file, String name ,String password ,String name ,

Controller层接收

统一接收类型

  1. @PostMapping("/insertInfo")
  2. public R<Void> insertInfo(MultipartFile [] file, ExFeedback exFeedback) {
  3. return exFeedbackService.insertInfo(exFeedback, file);
  4. }

 

 业务批量添加代码

  1. @Override
  2. public R<Void> insertInfo(ExFeedback exFeedback, MultipartFile[] files) {
  3. // 添加反馈内容表数据
  4. int insert = exFeedbackMapper.insert(exFeedback);
  5. // 循环遍历删除,添加图片数据
  6. for (MultipartFile file : files) {
  7. String fileName = file.getOriginalFilename();
  8. try {
  9. MinIOUtils.uploadFile(minIOConfig.getBucketName(), fileName, file.getInputStream());
  10. } catch (Exception e) {
  11. throw new RuntimeException(e);
  12. }
  13. // 图片url路径
  14. String imgUrl = MinIOUtils.getBasisUrl() + fileName;
  15. // 添加图片数据
  16. ExImg exImg = new ExImg();
  17. exImg.setFeedbackId(exFeedback.getId());
  18. exImg.setImgUrl(imgUrl);
  19. exImg.setImgName(fileName);
  20. // 循环添加数据
  21. exImgMapper.insert(exImg);
  22. }
  23. return R.success();
  24. }

业务批量删除代码

  1. @Override
  2. public R<Void> removeByIdInfo(ExFeedback exFeedback) {
  3. // 删除反馈内容
  4. exFeedbackMapper.deleteById(exFeedback);
  5. // 获取图片
  6. List<ExImg> exImg = exImgMapper.selectList(new LambdaQueryWrapper<ExImg>().eq(ExImg::getFeedbackId, exFeedback.getId()));
  7. // 循环遍历删除服务器图片
  8. exImg.forEach(re -> {
  9. try {
  10. MinIOUtils.removeFile(minIOConfig.getBucketName(), re.getImgName());
  11. } catch (Exception e) {
  12. throw new RuntimeException("删除minio图片失败");
  13. }
  14. });
  15. // 循环遍历删除
  16. exImgMapper.deleteBatchIds(exImg);
  17. return R.success();
  18. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/583380?site
推荐阅读
相关标签
  

闽ICP备14008679号