Qiniu.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import os
  2. import tempfile
  3. import uuid
  4. import requests
  5. from qiniu import Auth, put_file, etag, BucketManager
  6. # 七牛云配置
  7. QINIU_ACCESS_KEY = '-8ezB_d-8-eUFTMvhOGbGzgeQRPeKQnaQ3DBcUxo'
  8. QINIU_SECRET_KEY = 'KFhkYxTAJ2ZPN3ZS3euTsfWk8-C92rKgkhAMkDRN'
  9. QINIU_BUCKET_NAME = 'bzdcoldverify'
  10. QINIU_BUCKET_DOMAIN = 'https://bzdcoldverifyoss.baozhida.cn' # 例如:'http://xxx.clouddn.com'
  11. # 初始化七牛云Auth
  12. q = Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY)
  13. def download_file(url):
  14. """下载文件到临时目录"""
  15. local_filename = os.path.join("./temp", str(uuid.uuid4()) + '.pdf')
  16. with requests.get(url, stream=True) as r:
  17. r.raise_for_status()
  18. with open(local_filename, 'wb') as f:
  19. for chunk in r.iter_content(chunk_size=8192):
  20. f.write(chunk)
  21. return local_filename
  22. def upload_to_qiniu(local_file, key):
  23. """上传文件到七牛云"""
  24. token = q.upload_token(QINIU_BUCKET_NAME, key)
  25. ret, info = put_file(token, key, local_file)
  26. if info.status_code == 200:
  27. return f"{QINIU_BUCKET_DOMAIN}/{key}"
  28. else:
  29. raise Exception(f"七牛云上传失败: {info}")