springboot中怎么使用minio存储容器
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要为大家展示了"springboot中怎么使用minio存储容器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot中怎么使用mi
千家信息网最后更新 2025年11月11日springboot中怎么使用minio存储容器
这篇文章主要为大家展示了"springboot中怎么使用minio存储容器",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"springboot中怎么使用minio存储容器"这篇文章吧。
docker运行
docker run -p 9000:9000 -p 9001:9001 -v /mydata/minio/data:/data minio/minio server /data --console-address ":9001
java导包
最好是这个版本,其他版本尝试过都出bug了
io.minio minio 8.2.1
配置文件
spring: # 上传文件大小设置 servlet: multipart: enabled: true max-file-size: 50MBminio: endpoint: xxx:9000 accesskey: xxx secretkey: xxx bucketName: xxx
操作
1、编写一个属性文件
@Data@Component@ConfigurationProperties(prefix = "minio") // 从配置文件的前缀拿public class MinioProperties { private String endpoint; private String accessKey; private String secretKey;}2、编写一个minioClient
@Configurationpublic class MinioConfig { @Resource private MinioProperties minioProperties; @Bean public MinioClient minioClient() { System.out.println(minioProperties.getAccessKey()); System.out.println(minioProperties.getSecretKey()); MinioClient minioClient = MinioClient.builder() .endpoint(minioProperties.getEndpoint()) .credentials(minioProperties.getAccessKey(), minioProperties.getSecretKey()) .build(); return minioClient; }}3、上传文件Api
public class MinioServiceImpl implements MinioService { @Value("${minio.bucketName}") private String bucketName; @Value("${minio.endpoint}") private String endPoint; @Resource private MinioClient minioClient; @Override public List uploadFile(MultipartFile[] file) throws ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { if (file == null || file.length == 0) { throw new APIException(ResultCode.PARAM_IS_BLANK); } List fileUrlList = new ArrayList<>(file.length); String url = ""; for (MultipartFile multipartFile : file) { // 1.获取文件名 String originalFilename = multipartFile.getOriginalFilename(); // 2.截取后缀名 String imgSuffix = originalFilename.substring(originalFilename.lastIndexOf(".")); // 3.生成唯一名 String newFileName = UUID.randomUUID().toString() + imgSuffix; // 4.日期目录 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); String dataPath = dateFormat.format(new Date()); // 5.合成路径 String finalFileName = dataPath + "/" + newFileName; // 别忘了bucketName url = endPoint + "/" + bucketName + "/" + finalFileName; try { // 文件上传 InputStream in = multipartFile.getInputStream(); minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(finalFileName).stream( in, multipartFile.getSize(), -1) .contentType(multipartFile.getContentType()) .build()); in.close(); fileUrlList.add(url); } catch (IOException e) { throw new APIException(ResultCode.COMMON_FAIL); } } return fileUrlList; }} 本地浏览设置
通过上面这串url就可以直接访问图片了
以上是"springboot中怎么使用minio存储容器"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
容器
存储
内容
篇文章
版本
学习
帮助
配置
前缀
后缀
图片
大小
属性
文件名
日期
易懂
更多
最好
条理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学校 数据库 教育局
app软件开发学校
数据库安全威胁报告
软件开发用户故事案例
为什么亚马逊要买服务器
dbo模式数据库
辛巴网络技术有限公司
网络安全法手抄报资料
4g模块可以连接2个服务器吗
怎么网络软件开发
华为服务器开机跳线
七彩虹sn码验证数据库
本地服务器有安全组
存储服务器的系统有哪些
中国软件开发行业
金融云网络安全
廊坊育同软件开发有限公司
网络安全职业技能大赛简报
圆通数据库怎么看
数据库数据库完整性试验
数据库表结构有几种
宁夏惠普服务器维修维保费用
广西机电院计算机网络技术
veeamone数据库
智能汽车网络安全工作
服务器包含的分类有哪些
网络技术怎么兼职
中关村招聘软件开发
软件开发培训后有证书没
服务器设置静态路由