本博客是原创,讲的是如何上传文件到oss服务器,并且以python代码讲解为例:

上传文件目录下的视频到OSS服务器指定的目录,需要以下几个步骤:

1.需要在阿里云上注册一个OSS用户,创建自己的bucket,同时需要知道access_key_id、access_key_secret、ossurl三个参数。
2.需要指出本地文件的路径,以及上传到OSS服务器上的路径。
3.调用OSS接口,上传文件即可。
本例使用python语言进行编写,上传到OSS服务器路径。代码解释如下:
import oss2import osimport sysimport configparser
首先引用上述几个包,oss2是阿里云自带的一个服务包。
定义上传类:
class UploadFle2OSS(object):def __init__(self,basedir,ossDir):self.basedir = basedir  #本地路径
self.ossDir = ossDir #远程路径
self.ossBucket = self.initOSS() #OSS初始化
def initOSS(self):'''OSS初始化
:return:'''access_key_id = readConfigContent('initoss','access_key_id')access_key_secret = readConfigContent('initoss','access_key_secret')ossurl = readConfigContent('initoss','ossurl')bucket_name = readConfigContent('initoss','bucket_name')auth = oss2.Auth(access_key_id, access_key_secret)bucket = oss2.Bucket(auth, ossurl, bucket_name)return bucket
包含OSS初始化,initOSS作用是指把传过来的OSS4个参数进行封装,封装后进行认证,最后返回一个bucket,bucket可以理解为一个句柄,即操作OSS的一个句柄而已。
def dir_list_file(self,dir):'''遍历目录下的文件,并上传到oss:param dir::return:'''fs = os.listdir(dir)for f in fs:file = dir + "/" + fif os.path.isdir(file):self.dir_list_file(file)else:self.uploadFile(file)
这个函数是遍历用户本地视频文件的目录,遍历出改目录下的视频文件并上传到OSS。
def uploadFile(self,file):remoteName = self.ossDir + file.replace(self.basedir, '').replace('\\', '/')print('本地文件:', file, '正在上传到OSS:', remoteName)self.ossBucket.put_object_from_file(remoteName, file)
这个函数是上传到OSS的指定目录中。
封装好class后,下面需要写我们自己的业务逻辑,首先新建一个config文件,内容如下:
[initoss]access_key_id = 自己的keyidaccess_key_secret = 自己的secretossurl = 自己的ossurlbucket_name = 自己的bucket名称
[video]# 视频地址

basedir_drv = /Users/fengbo/Desktop/ossDir_drv = data/video/
initoss里面需要填写自己申请到的OSS信息。Video里的 basedir_drv是指视频的本地目录,ossDir_drv是指oss指定的目录。
定义函数变量本地目录中的视频并上传,函数如下:
import osimport configparserfrom UploadFile2OSS import UploadFle2OSS
def uploadVideo2OSS(uplaoddate):'''上传视频
:return:'''basedir_drv = readConfigContent('video', 'basedir_drv')+uplaoddateossDir_drv = readConfigContent('video', 'ossDir_drv')+uplaoddatefun1 = UploadFle2OSS(basedir_drv, ossDir_drv)fun1.dir_list_file(basedir_drv)
其中readConfigContent是读取配置文件的函数,如下:
def readConfigContent(content, keyValue):'''读取配置文件信息
:param content::param keyValue::return:'''configFile = os.getcwd() + '/config'  # 开发环境
cf = configparser.ConfigParser()cf.read(configFile)value = cf.get(content, keyValue)return value
 
最后写主函数调用:
if __name__=='__main__':
uploadFile = 'test' #上传视频的本地目录
uploadVideo2OSS(uploadFile)
我本地视频目录是/Users/fengbo/Desktop/test/1.mp4 。test目录可能会经常变化,比如按天变化等,所以将这个作为变量提取出来。
运行后,上传到OSS服务器,如图所示:
关于路径和其他的定制化需求,可以自己进行修改即可。

阿里云oss上传文件相关推荐

  1. SpringBoot整合阿里云OSS上传文件

    一.需求分析 文件上传是一个非常常见的功能,就是通过IO流将文件写到另外一个地方,这个地方可以是项目下的某个文件夹里,或者是本地电脑某个盘下面,还可以是云服务OSS里面,这里就是我要讲到的OSS,我写 ...

  2. thinkPHP 阿里云OSS 上传文件、直接下载

    阿里云OSS 上传文件.直接下载 1. 安装OSS SDK composer require aliyuncs/oss-sdk-php 2. thinkPHP接口 public function up ...

  3. 阿里云OSS上传文件时,如何显示上传网速

    阿里云OSS上传文件时,如何显示上传网速 业务场景 用户上传时,网速很慢,或者在上传大文件时,虽然有进度条,但是动的很慢,或者不明显,用户会产生困惑. 所以就产生了一个显示网速的需求点. 实现方式 E ...

  4. Java实现阿里云OSS上传文件

    推荐:前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.. 点击跳转到网站 1.准备工作:创建操作阿里云OSS许可证 阿里云官方文档 这里不再赘述,根据官方文档一步步的 ...

  5. 阿里云OSS上传文件设置请求头

    之前写过一篇发送文件消息的,原生input上传文件(聊天发送文件消息),这次的需求就是更改上传地址,使用阿里云OSS上传. 如果想了解阿里云对象存储OSS是如何使用的,请看阿里云存储对象OSS使用讲解 ...

  6. SringBoot集成阿里云OSS上传文件

    上一篇文章讲了如何将文件从linux同步到阿里云的oss有兴趣的小伙伴可以去看看,这篇文章讲述如何将文件上传到阿里云oss上,本文只详细写出后端java代码示例,前端和无用代码都会省略,可以上传文件, ...

  7. 阿里云OSS上传文件以及获取文件

    1.新建bucket (文件存储空间名称),bucket下也可以继续创建目录 2.通过短信验证码创建accessKey,保存accessKeyID和accessKeySecret: 3.添加oss管理 ...

  8. 阿里云OSS上传文件并返回文件地址

    目录 依赖添加 实体类: OSS配置类: OSSUtil工具类: OSS上传接口类: OSS上传接口实现类: OSS上传控制类: 工具类: 依赖添加 在Maven的pom.xml文件中添加OSS的依赖 ...

  9. 使用阿里云OSS上传文件

    本文介绍如何利用Java API操作阿里云OSS对象存储. 1.控制台操作 首先介绍一下阿里云OSS对象存储的一些基本概念. 1.1 进入对象存储界面 登录阿里云账号,进入对象存储界面,如图所示. 进 ...

  10. 第三方服务整合-阿里云OSS上传文件-填坑

    目录 如下,引入aliyun-oss失败: 原因: 解决方法 OssController 如下,引入aliyun-oss失败: com.alibaba.cloud:aliyun-oss-spring- ...

最新文章

  1. MySql -- 数据结构
  2. PAT甲级1108 Finding Average :[C++题解]stof、字符串变成浮点数、try和catch捕获异常、C++语法题
  3. 【数据结构与算法】之深入解析“省份数量”的求解思路与算法示例
  4. 单例设计模式-反射攻击解决方案及原理分析
  5. 吴恩达机器学习作业(3):逻辑回归
  6. C#Winform调用网页中的JS方法
  7. windows ffmpeg 推送摄像头数据到rtmp服务
  8. IE overflow:hidden失效的解决方法:
  9. 求二进制数中1的个数(转)
  10. bzoj2463 [中山市选2009]谁能赢呢?
  11. python——画伪彩图、设置彩色图例
  12. adodb.connection id password windows用户_Windows 12发布了?一款号称可以取代win10的山寨Windows系统...
  13. pandas之Dataframe 菜鸟教程
  14. 行业点评:大疆反腐事件,员工的反驳
  15. 初识ubuntu 安装steam
  16. proteus 安装包以及破解汉化
  17. 信噪比与雷达探测距离之间关系
  18. win7工作组计算机无法连接打印机,win7无法访问共享打印机怎么解决
  19. element中form表单输入非负数验证
  20. oracle左连接应用场景,Oracle左连接left join 的实际操作与应用

热门文章

  1. 什么是log文件、jar文件、phar文件、Composer、包管理工具?
  2. 国内首位通过HCIE-Storage V1.6新版LAB者考试心得
  3. 知道的四个现货黄金操作技巧
  4. 怎样用计算机表示分数,计算器怎么用分数(科学计算器功能键介绍大全)
  5. 推荐工作时,在想什么
  6. OF基础操作5(在虚拟机上安装VMware Tools)
  7. vue.js实现一个计算器
  8. 【Node.js+koa--后端管理系统】用户登录接口设计 | 登录验证 | 登录返回凭证(令牌)
  9. 【统计学习笔记】最大似然法
  10. 放开那三国2祝福语讯飞输入法文件处理