当前位置: 首页 > news >正文

使用python将图像上传minio服务器

MinIO 是一个高性能的分布式对象存储服务器

MinIO基于Apache License v2.0开源协议的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片、视频、备份数据和容器/虚拟机镜像等

(尤其是在人工智能的应用中,经常需要把模型结果和识别图像保存至数据库,该方法相比较nginx映射静态文件路径,更简洁方便)

image

 

安装依赖

pip install minio

 

使用python将图像上传minio服务器

from minio import Minio
from minio.error import S3Error
import cv2def upload_image_minio(image, image_name):"""读取本地图像并上传到MinIO参数:- image: OpenCV图像对象- image_name: 存储在MinIO中的对象名称返回:- 图像在MinIO中的访问URL"""try:# 判断图像是否存在if image is None:raise ValueError(f"无法读取图像")# 将图像编码为JPEG格式is_success, buffer = cv2.imencode(".jpg", image)if not is_success:raise RuntimeError("无法将图像编码为JPEG格式")# 创建字节流io_buf = io.BytesIO(buffer)# 检查存储桶是否存在,不存在则创建found = minio_client.bucket_exists(BUCKET_NAME)if not found:minio_client.make_bucket(BUCKET_NAME)print(f"创建存储桶: {BUCKET_NAME}")else:print(f"存储桶已存在: {BUCKET_NAME}")# 上传图像到MinIO
        minio_client.put_object(BUCKET_NAME,image_name,data=io_buf,length=io_buf.getbuffer().nbytes,content_type="image/jpeg")# 生成图像访问URLimage_url = f"http://{MINIO_ENDPOINT}/{BUCKET_NAME}/{image_name}"print(f"图像已成功上传至: {image_url}")return image_urlexcept S3Error as e:print(f"MinIO错误: {e}")return Noneexcept Exception as e:print(f"上传图像发生错误: {e}")return Noneif __name__ == '__main__':# minio配置参数MINIO_ENDPOINT = "192.1.35.10:9000"  # MinIO服务端点ACCESS_KEY = "xxxxxxx"  # MinIO访问密钥SECRET_KEY = "xxxxxxx"  # MinIO密钥BUCKET_NAME = "pic-fgd"  # 存储桶名称USE_SECURE = False  # 已修改为False,使用HTTP协议而非HTTPS# 初始化MinIO客户端minio_client = Minio(MINIO_ENDPOINT, access_key=ACCESS_KEY, secret_key=SECRET_KEY, secure=USE_SECURE)# 读取本地图像 image = cv2.imread("C:/Code/yolov5-3.1/fg_dataset/废钢分类/image/dcd1-20250924035523-dcd.jpg")# 上传图像image_detect_url = upload_image_minio(image, "test.jpg")

 

需要注意的地方:

(1)MinIO访问密钥 和 MinIO密钥,需要从Access Keys查找

image

image

 

 

(2)一开始存储桶默认为private,如果需要通过返回URL链接看到图像,需要修改为public

image

 

http://www.hskmm.com/?act=detail&tid=30736

相关文章:

  • CDH 集群服务角色规划
  • 国产项目管理工具突围战:Gitee如何成为本土开发者的效率引擎
  • 基于Saleh模型的功率放大器参数辨识与曲线拟合
  • 2025 年防火涂料厂家最新推荐排行榜:膨胀型 / 非膨胀型 / 室内外 / 超薄型 / 厚型钢结构防火涂料优质企业精选
  • 【2025精选】如何选择跨网文件传输系统?5大核心指标要关注
  • res-downloader v1.0.6 资源下载工具:多平台视频 / 音频一键获取(支持 WinMac 系统)
  • c# HttpClient在自己服务器上访问第三方接口时出现HandshakeFailure的解决方案
  • 2025 年最新雕花板厂家推荐排行榜:聚焦金属 / 外墙 / 保温 / 隔热雕花板,助力采购方精准选优质品牌
  • 飞牛nas,小白,免费,远程方案,远程看电视,远程观影
  • 安卓Shell脚本
  • 2025 年感应门源头厂家最新推荐排行榜:实力品牌甄选与选购指南,助您精准对接优质供应商
  • 2025 年国内自动门厂商最新推荐排行榜:涵盖伸缩 / 感应 / 平开 / 玻璃 / 无框自动门,助您选优质产品
  • 2025.10.14——1绿
  • 基于多尺度谱峭度的有载分接开关振动信号处理
  • Gitee崛起:本土化战略如何重塑中国开发者生态?
  • V-Ray 6.1 插件安装指南|Revit 2019-2024 图文教程
  • 2025 年国内球墨铸铁管厂家最新推荐排行榜:涵盖市政 / 给水 / 水利工程用管,助力采购高效选材
  • 2025 最新铝型材源头厂家推荐排行榜:佛山龙头与新锐品牌深度解析,采购优选指南
  • 2025 年光伏支架设备厂家推荐霸州市邦昊通达冷弯设备有限公司,廊坊 / 霸州 / 北方光伏支架设备 / 光伏支架冲孔机 / 光伏支架角钢成型机 / 光伏支架 C 型钢成型机公司推荐
  • Citrix XenApp and XenDesktop 7.15 LTSR - 应用程序和桌面虚拟化
  • Citrix Virtual Apps and Desktops 7 2203 LTSR - 应用程序和桌面虚拟化
  • 2025 年过滤机厂家最新推荐排行榜:聚焦技术创新与市场口碑,精选五家优质企业助力企业选购胶带式/盘式真空/带式/脱水/带式真空过滤机厂家推荐
  • 2025年中国GEO(AI搜索优化)源头厂家Top 10推荐排行:云视科技领跑行业革新
  • chrome浏览器无法安装扩展程序?分享二种解决方案
  • 连接AI与决策:深度解析Palantir的“基石”:本体(Ontology)
  • LGP3372 [LG TPLT] 线段树一 学习笔记
  • 鸿蒙应用开发从入门到实战(二十一):ArkUI自定义弹窗组件
  • 2025 年北京开锁机构推荐:北京锁王开锁有限公司,您身边的锁具安全专家
  • jeecg vue2前端组件
  • 2025年空天信息感知与智能处理国际学术会议(AIPIP 2025)