基于python实现上传文件到OSS代码实例
基础环境
#+++++阿里云OSS开发指南里都有详细的步骤,在这里整理了一下自己需要的东西 #确定开发环境,centOS默认安装了python2.7 #python-V #安装python开发包 #yuminstall-ypython-devel #安装OSS的sdk #yuminstall-ypython-pip #pip2.7installoss2 #验证oss2是否安装正确 ''' >>>importoss2 >>>oss2.__version__ '2.6.0' ''' #验证OSS扩展库crcmod是否安装 ''' 在python环境中,输入一下内容,如果有错误信息,则说明扩展库安装不成功,默认安装oss2的时候会安装扩展库 >>>importcrcmod._crcfunext 如果出现安装不成功,则按一下步骤安装: 1、执行以下命令卸载crcmod #pipuninstallcrcmod 2、安装python-devel 3、执行以下命令重新安装crcmod #pipinstallcrcmod '''
小文件上传
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importoss2
#阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录https://ram.console.aliyun.com创建RAM账号。
auth=oss2.Auth('','')
#Endpoint以杭州为例,其它Region请按实际情况填写。
bucket=oss2.Bucket(auth,'http://oss-cn-hangzhou.aliyuncs.com','')
#必须以二进制的方式打开文件,因为需要知道文件包含的字节数。
withopen('','rb')asfileobj:
#Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
fileobj.seek(1000,os.SEEK_SET)
#Tell方法用于返回当前位置。
current=fileobj.tell()
bucket.put_object('',fileobj)
分片上传
#-*-coding:utf-8-*-importos
fromoss2importSizedFileAdapter,determine_part_size
fromoss2.modelsimportPartInfo
importoss2
#阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录https://ram.console.aliyun.com创建RAM账号。
auth=oss2.Auth('','')
#Endpoint以杭州为例,其它Region请按实际情况填写。
bucket=oss2.Bucket(auth,'http://oss-cn-hangzhou.aliyuncs.com','')
key=''
filename=''
total_size=os.path.getsize(filename)
#determine_part_size方法用来确定分片大小。
part_size=determine_part_size(total_size,preferred_size=100*1024)
#初始化分片。
upload_id=bucket.init_multipart_upload(key).upload_id
parts=[]
#逐个上传分片。
withopen(filename,'rb')asfileobj:
part_number=1
offset=0
whileoffset
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。