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

实现思路:

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

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

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

Controller层接收

统一接收类型

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

 

 业务批量添加代码

    @Overridepublic 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();}

业务批量删除代码

    @Overridepublic 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();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何查看PostgreSQL的版本

如何查看PostgreSQL的版本 要查看 PostgreSQL 的版本&#xff0c;有几种不同的方法可以使用&#xff0c;包括通过命令行和 SQL 查询。 1. 使用命令行 如果你有访问到服务器的命令行&#xff0c;并且 PostgreSQL 的命令行工具已经添加到了系统的 PATH 中&#xff0c;你可以非…

[muduo网络库]——muduo库noncopyable(剖析muduo网络库核心部分、设计思想)

接着之前我们[muduo网络库]——muduo库TcpConnection类&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;我们接下来继续看muduo库中的noncopyable。 这一类比较简单&#xff0c;并且我在另一篇博客里面&#xff0c;也有详细的介绍C 11以及muduo网络库中…

函数指针允许将函数作为参数传递或从函数返回函数

函数指针允许您将函数作为参数传递或从函数返回函数&#xff0c;从而实现灵活的行为和代码重用。它们在 C 编程中具有广泛的应用&#xff0c;包括回调、事件处理和算法选择。了解函数指针及其用法可以帮助您编写更模块化、可扩展和可定制的代码。以下是函数指针的一些实际应用示…

OpenHarmony 实战开发——如何编译OpenHarmony自带APP

概述 OpenHarmony 的主干代码是开源社区的重要学习资源&#xff0c;对于想进行应用开发和熟悉 OpenHarmony 能力的同学主干代码是非常重要的资源&#xff0c;在主干代码的 applications 目录里聚集了很多原生的应用实现&#xff0c;那么如何编译这些代码就是我们这篇文章的主要…

信息系统架构设计方法_1.ADM架构开发方法

1.TOGAF概述 TOGAF&#xff08;The Open Group Architecture Framework&#xff0c;TOGAF&#xff09;是一种开放式企业架构框架标准&#xff0c;它为标准、方法论和企业架构专业人员之间的沟通提供一致性保障。 TOGAF由国际标准权威组织The Open Group制定。The Open Group于1…

[初学rust] 01_简单打印

print println!() 基本使用 直接输出一个字符串 println!("hello world");{} 占位符 println!("{}", "hello world");

Vue3项目打包部署到云服务器的Nginx中

文章目录 一、打包vue3项目二、dist文件夹上传到服务器三、改nginx配置文件Docker安装nginx 一、打包vue3项目 npm run build 二、dist文件夹上传到服务器 将dist文件夹放到docker安装的nginx中的html目录下 三、改nginx配置文件 然后重启nginx【改了配置文件重启nginx才能…

消息中间件Kafka(PHP版本)

小编最近需要用到消息中间件&#xff0c;有需要要复习一下以前的东西&#xff0c;有需要的自取&#xff0c;强调一点&#xff0c;如果真的想了解透彻&#xff0c;一定要动手&#xff0c;脑袋会了不代表就会写了 Kafka是由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅…

等保一体机能过三级等保吗?过等保无需再买安全设备如何做到?

等保一体机能过三级等保吗&#xff1f;过等保无需再买安全设备如何做到&#xff1f; 全云在线 2024-03-28 12:08 广东 尽管等保建设的标准是统一的&#xff0c;但由于不同行业和用户规模的差异&#xff0c;建设方案呈现出多样化的特点。 虽然重点行业过等保现象确实已经十分…

免费思维13招之八:跨行业思维

免费思维13招之八:跨行业思维 免费思维的另一大战略思维——跨行业型思维。 跨行业型思维有两种:一种是通过跨行业,把自己的产品免费掉,从而赚取其他行业的利润。另一种是通过跨行业,把别人的主流产品免费掉,从而增大自己产品的销量。 第一种,把自己的产品免费,从而赚…

Hadoop3.4.0 完全分布式集群 运行环境搭建 VMware Workstation 虚拟机 大数据系列 一

一 生产环境集群模式部署&#xff0c;需要多台主机&#xff0c;主机之间通过密钥相互访问. 1 配置如图 节点名字节点IP系统版本master11192.168.50.11centos 8.5slave12192.168.50.12centos 8.5slave13192.168.50.13centos 8.5 2 安装服务器 #先安装一台master11&#xff…

C++ 容器(四)——List操作

一、List定义 内部核心是双向链表结构&#xff1a; 1、list内部以双向链表形式存储元素&#xff0c;每个节点包含指向前一个节点和后一个节点的指针。 2、动态大小&#xff1a;list的大小可以根据需要动态增长或缩小&#xff0c;不需要预先指定容器的大小。 3、插入和删除效…

Kubernetes 监控管理

目录 1. Metrics Server2. Prometheus & Grafana3. cAdvisor4. 日志收集5. 告警与通知6. 最佳实践 Kubernetes 监控管理是确保集群稳定运行和应用服务质量的关键环节。它涉及收集、聚合、分析集群及其上运行的应用程序的各种指标和日志数据。 1. Metrics Server 作用&…

Kubernetes备份恢复

目录 1. etcd 备份与恢复2. Velero3. Kubernetes Checkpoint API4.最佳实践 在Kubernetes中&#xff0c;备份和恢复策略是确保集群和应用程序数据安全的关键部分。这包括了对集群元数据&#xff08;如部署、服务、PV/PVC定义等&#xff09;以及持久卷中的数据进行备份。 1. et…

Hadoop-未授权访问-内置配合命令执行RCE

一、Hadoop常见端口及配置文件 Hadoop中有多种端口&#xff0c;这些端口用于不同的服务和通信。以下是Hadoop中常见的端口以及它们的用途&#xff1a; NameNode Web界面端口 (默认: 9870)NameNode 对客户端服务端口 (默认: 8020)Secondary NameNode Web界面端口 (默认: 9868)…

图层的遮盖判定算法实现1

图层的判定算法实现1 1. 算法思路2. 增加图层类属性3. 修改图层工具类4. 置于灰色5. 调用比较置灰 图层的判定算法实现1 学习于bilibili 尚学堂官方 1. 算法思路 与它上方的那一层所有牌进行比较&#xff0c;是否有交集 有&#xff0c;则盖住了&#xff0c;显示灰色 没有&am…

GitLab CI/CD的原理及应用详解(五)

本系列文章简介&#xff1a; 在当今快速变化的软件开发环境中&#xff0c;持续集成&#xff08;Continuous Integration, CI&#xff09;和持续交付&#xff08;Continuous Delivery, CD&#xff09;已经成为提高软件开发效率、确保代码质量以及快速响应市场需求的重要手段。Gi…

Ubuntu20.4部署Cuda12.4

准备Ubuntu20.4 VM 安装Cuda12.4 1.进入如下界面安装安装Cuda12.4版本&#xff1a; CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developerhttps://developer.nvidia.com/cuda-downloads?target_osLinux&target_archx86_64&DistributionUbuntu&target_vers…

MySQL软件安装基于压缩包

打开mysql官网网址 MySQL :: Download MySQL Community Server 本次针对版本8的安装包方式进行安装&#xff0c;下载成功后接下来对MySQL进行安装 下载后有一个以zip后缀结尾的压缩包文件 对于安装包方式安装&#xff0c;比起可视化安装省去了许多安装步骤&#xff0c;这里直接…

MLXtend,一个数据科学和机器学习Python库

MLxtend库简介 MLxtend 是一个 Python 库,提供了一系列用于机器学习的工具和辅助函数.它构建在 NumPy、SciPy 和 Matplotlib 之上,旨在为机器学习工程师和数据科学家提供更多的便利功能. 安装与使用 # 使用 pip 安装 MLxtend&#xff1a; pip install mlxtend在 Python 中导…