AliyunOss.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import os
  2. import sys
  3. import oss2
  4. # 本地文件夹路径目录
  5. basedir = 'D:\\'
  6. # 阿里云存储目录,要保证和下面的project_name相同
  7. projectList = 'document'
  8. # 本地文件夹
  9. dirList = [basedir]
  10. class AliyunOss(object):
  11. def __init__(self):
  12. self.access_key_id ='LTAI5tESB5tEYccrrUjkG7c5' # 从阿里云查询到的 AccessKey 的ID
  13. self.access_key_secret = "l9CZU6pkWDdQVGbHxwZGdx9mu9cv2U" # 从阿里云查询到的 AccessKey 的Secret
  14. self.auth = oss2.Auth(self.access_key_id, self.access_key_secret)
  15. self.bucket_name = "leaseraycos" # 阿里云上创建好的Bucket的名称
  16. self.endpoint = "oss-cn-shanghai.aliyuncs.com" # 阿里云从Bucket中查询到的endpoint
  17. self.bucket = oss2.Bucket(self.auth, self.endpoint, self.bucket_name)
  18. def put_object_from_file(self, name, file):
  19. """
  20. :param name: 在阿里云Bucket中要保存的文件名
  21. :param file: 本地图片的文件名
  22. :return:
  23. """
  24. self.bucket.put_object_from_file(name, file)
  25. return "https://{}.{}/{}".format(self.bucket_name, self.endpoint, name)
  26. def uploadFile(file):
  27. # remoteName为oss中路径+文件名,file为本地上传文件名称
  28. remoteName = projectList + file.replace(basedir, '').replace('\\', '/')
  29. print('uploading..', file, 'remoteName', remoteName)
  30. result = AliyunOss().put_object_from_file(remoteName, file)
  31. # 文件上传成功http状态输出200
  32. # print('http status: {0}'.format(result.status))
  33. print(result)