Minio图片存储

简介: 今天的主题是对象储存,对象存储相信大家都不陌生,绝大多数人都使用过比如阿里云七牛云腾讯云的OSS或者开源的轻量级分布式文件系统FastDFS,而今天的主角是Minio,为什么是Minio呢,因为最近的项目里使用了,而且使用感觉还不错,用小又便捷来形容很恰当。所以特地向大家安利一下这款开源的友好的对象存储。

微信截图_20220531133417.png

前言

今天是除夕夜,祝大家新年快乐,万事如意,平平安安,健健康康。

今天的主题是对象储存,对象存储相信大家都不陌生,绝大多数人都使用过比如阿里云七牛云腾讯云的OSS或者开源的轻量级分布式文件系统FastDFS,而今天的主角是Minio,为什么是Minio呢,因为最近的项目里使用了,而且使用感觉还不错,用小又便捷来形容很恰当。所以特地向大家安利一下这款开源的友好的对象存储。 老规矩,先看看官方的图,从图里我们可以很清楚的看到目前Minio的生态已经做得很不错了,支持公有和私人云还有K8s的部署支持,看着是不是高大上,但是看着肯定是不行的,要用着好才是真的。 微信截图_20220531134959.png 目前Minio的支持就开发层面来说支持单机也支持分布式部署,既然说到支持分布式,那肯定也有分布式系统的特点,容错性,即与FastDFS具有一样的特性。今天我们就先来看看怎么去单机部署和实现文件存储。 Minio单机版安装和实现

1.既然是单机版,那就选择最简单的windows版安装过程很简单,都是下一步一直到底就行了,然后就是配置AK,这个过程很简单就不赘述了。
2.上传的核心代码
1)上传包含bucket 文件名 文件流 文件大小 文件类型
public void uploadFile(String bucketName, String objectName, InputStream stream, long size, String contextType) throws Exception {
      client.putObject(bucketName, objectName, stream, size, contextType);
   }
复制代码
2)创建bucket 众所周知bucket是很重要的 要先创建
public void createBucket(String bucketName) {
      if (!client.bucketExists(bucketName)) {
         client.makeBucket(bucketName);
      }
   }
复制代码
3)根据buckt获取bucket下的所有文件
public Optional<Bucket> getBucket(String bucketName) {
      return client.listBuckets().stream().filter(b -> b.name().equals(bucketName)).findFirst();
   }
复制代码

小结 Minio很小,而且很好用,感兴趣的小伙伴可以试试,以前一直使用的是FastDFS,说实话有点重了,如果小型项目使用Minio真的很可以。

目录
相关文章
|
Java 数据库连接 数据库
【MyBatisPlus 实现文件的上传和下载 超详细....】
【MyBatisPlus 实现文件的上传和下载 超详细....】
607 0
|
安全 网络协议 Linux
内网穿透工具Frp
【10月更文挑战第6天】内网穿透工具Frp
2062 67
|
9月前
|
安全 Java Android开发
GDA反编译工具全面指南:从入门到高级应用
GDA(Generic Dalvik Analyzer)是一款专为Android逆向工程和安全研究设计的高性能反编译工具,由中国团队开发。它采用C++编写,无需依赖Java虚拟机,具备低资源消耗与高分析效率的优势。GDA支持多种文件格式的反编译,如APK、DEX、JAR等,并集成了恶意行为检测、隐私泄露分析、漏洞扫描等功能。同时提供变量追踪、路径解析、脚本自动化等实用特性,广泛应用于逆向分析、安全审计与漏洞挖掘。作为国产优秀逆向工具,GDA凭借其独立运行能力、丰富的功能和持续更新,在全球范围内受到分析师青睐。
1281 0
|
11月前
|
人工智能 运维 前端开发
【CodeBuddy】三分钟开发一个实用小功能之:折叠面板手风琴效果
在数字化时代,编程成为推动科技发展的核心力量。然而,初学者常因代码难题而受阻。本文分享了作者通过 AI 编程助手 CodeBuddy 实现手风琴折叠面板的经历。CodeBuddy 不仅能智能生成高质量代码,还能优化代码、解释逻辑,适用于快速原型开发、学习编程和解决难题等场景。其核心功能包括智能代码生成、代码优化与知识解释,为开发者提供强大支持。尽管如此,CodeBuddy 仍有提升空间,如支持更多语言、更精准理解需求及与开发工具深度集成。未来,AI 编程将为开发者带来更多便利,助力技术成长与创新。
215 0
【CodeBuddy】三分钟开发一个实用小功能之:折叠面板手风琴效果
|
开发者 Python Windows
【Python】已解决:Script file ‘E:\anaconda\install_root\Scripts\pip-script.py‘ is not present.
【Python】已解决:Script file ‘E:\anaconda\install_root\Scripts\pip-script.py‘ is not present.
597 3
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HAT(Hybrid Attention Transformer,)混合注意力机制 (论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO系列的改进方法和实战应用,包括卷积、主干网络、注意力机制和检测头的创新。提出的Hybrid Attention Transformer (HAT)结合通道注意力和窗口自注意力,激活更多像素以提升图像超分辨率效果。通过交叉窗口信息聚合和同任务预训练策略,HAT优化了Transformer在低级视觉任务中的性能。实验显示,HAT在图像超分辨率任务上显著优于现有方法。模型结构包含浅层和深层特征提取以及图像重建阶段。此外,提供了HAT模型的PyTorch实现代码。更多详细配置和任务说明可参考相关链接。
|
Java 测试技术 Maven
Junit单元测试 @Test的使用教程
这篇文章是一个关于Junit单元测试中`@Test`注解使用的教程,包括在Maven项目中添加Junit依赖、编写带有@Test注解的测试方法,以及解决@Test注解不生效的常见问题。
|
Android开发
Android音量细分
【6月更文挑战第3天】
521 0
|
芯片 Windows
一文带你认识 CP210x 并安装驱动
一文带你认识 CP210x 并安装驱动
3317 0
|
设计模式 前端开发 数据库
构建高效Android应用:使用Jetpack架构组件实现MVVM模式
【4月更文挑战第21天】 在移动开发领域,构建一个既健壮又易于维护的Android应用是每个开发者的目标。随着项目复杂度的增加,传统的MVP或MVC架构往往难以应对快速变化的市场需求和复杂的业务逻辑。本文将探讨如何利用Android Jetpack中的架构组件来实施MVVM(Model-View-ViewModel)设计模式,旨在提供一个更加模块化、可测试且易于管理的代码结构。通过具体案例分析,我们将展示如何使用LiveData, ViewModel, 和Repository来实现界面与业务逻辑的分离,以及如何利用Room数据库进行持久化存储。最终,你将获得一个响应迅速、可扩展且符合现代软件工
445 0

热门文章

最新文章