当前位置: 主页 > Python语言

python上传文件-python post 文件上传

发布时间:2023-03-13 09:13   浏览次数:次   作者:佚名

可以直接将本地的文件夹批量上传指定阿里云oss 存储目录里。

python post 文件上传_python上传文件_python 上传图片到微信

这里需要使用自己阿里云的AccessKeyID 和AccessKeySecret,没有的直接登录阿里云点击自己的头像便可以创建获取。

python 上传图片到微信_python上传文件_python post 文件上传

安装阿里云提供的oss2包:

python 上传图片到微信_python post 文件上传_python上传文件

pip install oss2

python 上传图片到微信_python上传文件_python post 文件上传

直接上代码

python上传文件_python 上传图片到微信_python post 文件上传

import os
import sys
import oss2
#本地文件夹路径目录
basedir='D:\file'
#阿里云存储目录,要保证和下面的project_name相同
projectList = ['test\']
#本地文件夹
dirList = [basedir]bucket=''  #不需要填,声明变量而已
ossDir=''
basedir=''
#将accessKeyId 和 accessKeySecret替换自己的
ossAuth=oss2.Auth('accessKeyId','accessKeySecret')
#bucketName
ossBucket = Nonedef uploadFile2Oss(pro):if pro in projectList:print('>>>>>>>>>>>>>>>>>Upload:'+ pro +'---Start!')global ossDir,basedir,bucket,ossBucketossDir, basedir= pro,dirList[projectList.index(pro)]#填写自己的阿里云bucket名称bucket = 'your-prod-backend'#http://oss-cn-hangzhou.aliyuncs.com替换为自己的阿里云地址ossBucket = oss2.Bucket(ossAuth,'http://oss-cn-hangzhou.aliyuncs.com',bucket)listFile(basedir)else:print('请检查填写的bucket名称和地址是否正确')def uploadFile(file):# remoteName为oss目录名称,file为本地上传目录名称remoteName = ossDir + file.replace(basedir,'').replace('\\','/')print ('uploading..',file,'remoteName',remoteName)result=ossBucket.put_object_from_file(remoteName,file)#文件上传成功http状态输出200print('http status: {0}'.format(result.status))def listFile(dir):fs=os.listdir(dir)for f in fs:file=dir+'\\'+f;if os.path.isdir(file):listFile(file)else:uploadFile(file)if __name__ == '__main__':# 填写oss的存储路径project_name = 'test/'uploadFile2Oss(project_name)

参考: