java文件上传粗糙版

embedded/2025/2/9 5:27:32/

粗糙版图片上传

1.导入依赖

<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.2</version>
</dependency>

2.配置minio地址跟对应的桶 业务层实现类

java">import io.minio.MinioClient;  // 导入MinioClient,用于与MinIO交互
import io.minio.PutObjectArgs; // 导入PutObjectArgs,用于设置上传文件的参数
import lombok.SneakyThrows; // 导入SneakyThrows注解,用于简化异常处理
import org.springframework.stereotype.Service; // 导入Service注解,表明这是一个服务类
import org.springframework.web.multipart.MultipartFile; // 导入MultipartFile,用于处理上传的文件
@Service // 将此类声明为Spring的服务类,允许Spring进行依赖注入
public class FileUploadBrandServiceImpl implements FileUploadBrandService {@Override@SneakyThrows // 该注解会让方法抛出的受检异常被隐藏,简化异常处理public String fileUpload(MultipartFile file) {// 创建Minio客户端,通过MinioClient.Builder设置相关信息MinioClient minioClient = MinioClient.builder()// 设置MinIO的终端节点(服务地址).endpoint("http://192.168.153.128:9002")// 设置存储的凭据,包括用户名和密码.credentials("admin", "admin123456").build(); // 构建MinioClient对象// 构造文件在存储中的路径,包含文件夹名 "brand/"String originalFilename = "brand" + "/" + file.getOriginalFilename();// 配置上传文件的参数,包括存储桶名称、流、文件大小和文件路径PutObjectArgs putObjectArgs = PutObjectArgs.builder().bucket("spzx-1") // 指定存储桶名称.stream(file.getInputStream(), file.getSize(), -1) // 输入流和文件大小.object(originalFilename) // 设置文件在存储桶中的路径和文件名.build(); // 构建PutObjectArgs对象// 调用Minio客户端的putObject方法执行文件上传minioClient.putObject(putObjectArgs);// 构建并返回文件的URL,以便访问上传后的文件String brandimgUrl = "http://192.168.153.128:9002/" + "spzx-1" + "/" + originalFilename;return brandimgUrl; // 返回文件的公开访问URL}
}

3.返回前端一个图片地址

4.前端需要保存表单信息时将图片url传给后端


http://www.ppmy.cn/embedded/160722.html

相关文章

JDK 9新特性学习大纲

第1部分&#xff1a;引言与背景 第1章&#xff1a;JDK 9的诞生与目标 1.1 JDK 9的核心目标与设计哲学 1.2 JDK 9的重要更新概览 1.3 兼容性与升级策略 第2部分&#xff1a;模块化系统&#xff08;Project Jigsaw&#xff09; 第2章&#xff1a;模块化基础 2.1 模块化的背景…

四、GPIO中断实现按键功能

4.1 GPIO简介 输入输出&#xff08;I/O&#xff09;是一个非常重要的概念。I/O泛指所有类型的输入输出端口&#xff0c;包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO&#xff08;General-Purpose Input/Output&#xff09;则是一个常见的术语&#xff0c…

电脑重启后vscode快捷方式失效,找不到code.exe

今天打开电脑发现vscode的快捷方式失效了&#xff0c;提示code.exe被删除或移动。 解决方法 查看vscode安装目录&#xff0c;发现多了一个_文件夹&#xff0c;包括code.exe在内的其他文件都被移动到了这个文件夹下。 将里面内容都移动到microsoft vs code文件夹下&#xff0c…

Linux系统命令无法使用(glib库相关问题)

1.背景描述 Yum强制安装了一些软件&#xff0c;安装软件成功无报错&#xff0c;完成后不久突然发现系统出问题了&#xff0c;所有的命令无法使用了&#xff0c;如ls、mv、cat等基本命令报错。 relocation error&#xff1a; /lib64/libpthread.so.0: symbol_libc_dl_error_tsd …

redis01 - redis基础

Redis基础 文章目录 Redis基础一&#xff1a;Redis简介二&#xff1a;Redis七原则三&#xff1a;redis基本类型1&#xff1a;字符串类型1.1 概述1.2 三个常用命令1.3 其他常用命令1.4 应用 2&#xff1a;hash类2.1 简介2.2 命令2.3 应用 3&#xff1a;list类型3.1 概述3.2 四个…

GO、GSEA富集分析一网打进

富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种&#xff1a; 一是基于筛选的差异基因&#xff0c;采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路富集。假设背景基因数目为m&#xff0c;背景基…

WPS计算机二级•幻灯片的音视频表格与图形

听说这是目录哦 PPT表格的基本操作&#x1f9f5;选择合适的PPT数据图表&#x1fa80;在PPT中插入图表并编辑图表数据&#x1f4e6;插入视频和音频&#x1f3ac;插入剪辑视频和更改视频封面&#x1f52d;PPT背景音乐设置&#x1f3bb;PPT如何使用图标&#x1f4f8;妙用图片让PPT…

Deno vs Node.js:性能对比深度解析

1. 引言 Deno 和 Node.js 都是基于 V8 引擎的 JavaScript 运行时环境&#xff0c;然而它们在架构、模块管理、安全性和性能方面存在显著差异。Deno 由 Node.js 的原始作者 Ryan Dahl 开发&#xff0c;旨在解决 Node.js 设计上的一些问题&#xff0c;比如包管理、安全模型和 Ty…