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

佛山骏域网站建设公司注册域名查询

佛山骏域网站建设,公司注册域名查询,网站前期准备,企业网页设计公司目录 一、Minio的基本介绍1.Minio是什么2.Minio的优势 二、使用步骤1.启动Minio2.创建桶3.在Python中使用Minio3.1安装并导入minio包3.2创建mino_utils工具类 三、操作演示1.引入minio_utils工具类2.上传视频文件3.获取视频文件 总结 一、Minio的基本介绍 1.Minio是什么 Mini…

目录

  • 一、Minio的基本介绍
    • 1.Minio是什么
    • 2.Minio的优势
  • 二、使用步骤
    • 1.启动Minio
    • 2.创建桶
    • 3.在Python中使用Minio
      • 3.1安装并导入minio包
      • 3.2创建mino_utils工具类
  • 三、操作演示
    • 1.引入minio_utils工具类
    • 2.上传视频文件
    • 3.获取视频文件
  • 总结


一、Minio的基本介绍

1.Minio是什么

Minio是一款开源的高性能对象存储服务器,专门针对大规模数据存储而设计。当开发一个网站系统时,我们往往需要存储许多的图片或视频信息,如果将这些文件信息直接存储在本地数据库中,那是十分低效且复杂的,随着访问量的增加,本地数据库难以承载较大的数据量,可能会导致各种问题。因此,我们将选择Minio来解决这一问题。

2.Minio的优势

作为一款云存储服务工具,Minio具有广泛的兼容性,支持在各种环境部署,包括物理服务器、虚拟机等等,并且它的技术文档十分完善,使用起来是很简单的。同时,相比于阿里云、百度云这些云存储服务器,Minio是完全免费的。


二、使用步骤

1.启动Minio

在成功下载Minio之后,进入minio.exe文件所在目录,用cmd加回车快速打开命令提示符。
在这里插入图片描述
输入命令minio server ./data启动Minio服务,其中data是存放数据的文件夹名称。
在这里插入图片描述
在浏览器中访问Minio服务控制台,输入http://127.0.0.1:9000跳转至如下页面:
在这里插入图片描述
默认账号和密码都为minioadmin,输入完后点击login进入主页面。

2.创建桶

点击左边Buckets菜单,并选择右上角Create Bucket选项,创建一个名为test的桶,用来存放图片或视频文件数据。在这里插入图片描述
在这里插入图片描述

3.在Python中使用Minio

3.1安装并导入minio包

输入命令:pip install minio进行安装
安装完成后将包导入:

from minio import Minio, S3Error

3.2创建mino_utils工具类

1.配置Minio,包括访问地址、端口、访问秘钥、密码秘钥和桶名

endpoint = "127.0.0.1:9000"
access_key = "minioadmin"
secret_key = "minioadmin"
bucket_name = 'test'

2.创建一个Minio实例对象

client = Minio(endpoint=endpoint,access_key=access_key,secret_key=secret_key,secure=False
)

3.编写上传文件功能的方法,输入文件路径和文件名,将上传的文件存入test桶中

import osdef upload(file_path,file_name):try:with open(file_path, 'rb') as file_data:client.put_object(bucket_name, file_name, file_data, length=os.path.getsize(file_path))print(file_name)except S3Error as err:print(err)

4.再编写一个获取文件的方法,输入文件名,返回文件访问的url,这里给url添加了一天的过期时间

from datetime import timedeltadef getUrl(file_name):expires = timedelta(days=1)try:url = client.presigned_get_object(bucket_name, file_name, expires=expires)return urlexcept Exception as err:print(err)

工具类minio_utils的完整代码如下:

import os
from datetime import timedelta
from minio import Minio, S3Error# MinIO服务地址、端口、访问密钥和秘密密钥
endpoint = "127.0.0.1:9000"
access_key = "minioadmin"
secret_key = "minioadmin"
bucket_name = 'test'  #桶名#创建一个Minio实例对象
client = Minio(endpoint=endpoint,access_key=access_key,secret_key=secret_key,secure=False
)#上传文件
def upload(file_path,file_name):try:with open(file_path, 'rb') as file_data:client.put_object(bucket_name, file_name, file_data, length=os.path.getsize(file_path))print(file_name)except S3Error as err:print(err)#通过文件名获得文件访问的url
def getUrl(file_name):expires = timedelta(days=1)try:url = client.presigned_get_object(bucket_name, file_name, expires=expires)return urlexcept Exception as err:print(err)

后续可直接导入minio_utils工具类来使用里面的方法

三、操作演示

1.引入minio_utils工具类

from mino_utils import upload, getUrl

2.上传视频文件

在实际应用中,我们可以对需要上传的文件先随机生成一个特有的文件名,这里通过上传的时间来随机生成一个文件名,然后把这个随机文件名存放在本地数据库中,方便之后直接通过该文件名来访问文件。

import time
from hashlib import md5fileName = md5(str(time.time()).encode("utf-8")).hexdigest() #随机生成文件名
upload("./file/tennis.mp4", fileName)
print("success")

运行结果如下:
在这里插入图片描述
再次打开Minio控制台并刷新,发现test桶中存放该视频文件,文件上传成功!
在这里插入图片描述

3.获取视频文件

调用minio_utils工具类的方法,通过文件名直接获取文件访问的url。

url = getUrl("8a21e13cfa33a506634c90c2297b7e01")
print(url)

结果如下:
在这里插入图片描述
Ctrl + 左键打开url,文件在浏览器中下载,成功打开该视频文件!
在这里插入图片描述


总结

本文章向大家介绍了Minio这一款简易的云存储服务器,并讲述了如何在Python中去使用Minio,实现了视频文件的上传和获取。同时,本文章从实际开发的角度,通过Minio让本地数据库只存储文件的名称,而不是存储整个文件,大大减少了本地数据库存储的压力。Minio还有许多其他的功能,感兴趣的同学可以自行去探索。

http://www.yayakq.cn/news/597575/

相关文章:

  • j建设银行信用卡网站专业做网站公司济南
  • 深圳网站建设深icp备工业互联网解决方案
  • 网站建设hyioiwordpress 禁止升级
  • 简单的英文网站源码蓝田县住房与城乡建设局网站
  • 湘潭做网站 都来磐石网络中山百度网站推广
  • 做的好的排版网站营销型网站的三大特点
  • 网站设计示例推广型网站开发
  • 网站注册可以免费吗阿里巴巴国际站入驻
  • 传媒公司网站潍坊推广平台
  • 大足建网站的wordpress电影模版
  • 网站设计培训学院wordpress分类目录去页眉
  • 团队网站建设vi设计哪些品牌比较好
  • 比较好看的网站设计青岛找网站建设公司哪家好
  • 网站点击量在哪里看wordpress加音乐
  • 建设网站如何写文案wordpress图片轮播插件
  • 烟台理工学校网站php本地建站工具
  • 软件开发 网站开发 不同会计培训机构
  • 湖北智能网站建设制作朝阳周边网站建设
  • 网站备案的服务器租用网站开发验收确 认书
  • 微信互动营销网站建设营销网站制作费用
  • 企业网站百度认证小甲鱼网站开发
  • 家具展示型网站wordpress 3.3.2 主题
  • 网站的pdf目录怎么做的seo赚钱
  • ip开源网站fpga可以做点什么用上海比较好的装修公司
  • 重庆梁平网站建设哪家便宜iis怎么搭建asp网站
  • 鄂州网站建设公司软件项目实施计划方案
  • 保定清苑城市建设网站廊坊手机网站建设
  • 怎么建视频网站免费的wordpress+上传权限设置
  • 南通城乡住房建设厅网站网站推广教程分享
  • 维护网站建设空间出租中智软件开发有限公司