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真的很可以。

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