aliyun.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import oss2
  2. from feapder.setting import ALI_BUCKET_CONFIG as oss_conf
  3. class AliYunService:
  4. def __init__(self):
  5. self.__acc_key_id = oss_conf['key_id']
  6. self.__acc_key_secret = oss_conf['key_secret']
  7. self.__endpoint = oss_conf['endpoint']
  8. self.__bucket_name = oss_conf['bucket_name']
  9. def push_oss_from_local(self, key, filename):
  10. """
  11. 上传一个本地文件到OSS的普通文件
  12. :param str key: 上传到OSS的文件名
  13. :param str filename: 本地文件名,需要有可读权限
  14. """
  15. auth = oss2.Auth(self.__acc_key_id, self.__acc_key_secret)
  16. bucket = oss2.Bucket(auth, self.__endpoint, self.__bucket_name)
  17. bucket.put_object_from_file(key, filename)
  18. def push_oss_from_stream(self, key, data):
  19. """
  20. 流式上传oss
  21. :param str key: 上传到OSS的文件名
  22. :param data: 待上传的内容。
  23. :type data: bytes,str或file-like object
  24. """
  25. auth = oss2.Auth(self.__acc_key_id, self.__acc_key_secret)
  26. bucket = oss2.Bucket(auth, self.__endpoint, self.__bucket_name)
  27. bucket.put_object(key, data)