file_ultils.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from config import load_service_config
  2. import os
  3. import requests
  4. class FileUploadUtils:
  5. cfgs = load_service_config()
  6. base_url = cfgs["aliyun"]["upload_url"]
  7. cookies = cfgs["aliyun"]['cookies']
  8. # 设置请求头
  9. headers = {
  10. "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
  11. "Accept": "*/*",
  12. }
  13. @staticmethod
  14. def upload_files(reports_dir, files):
  15. files_id = {}
  16. for filename in files:
  17. file_path = os.path.join(reports_dir, f'{filename}.xlsx')
  18. try:
  19. with open(file_path, 'rb') as f:
  20. files = {'file': (os.path.basename(file_path), f)}
  21. response = requests.post(
  22. FileUploadUtils.base_url,
  23. headers=FileUploadUtils.headers,
  24. files=files,
  25. cookies=FileUploadUtils.cookies,
  26. verify=True
  27. )
  28. if response.json()["success"]:
  29. file_id = response.json()["data"]["file_info"]["fileid"]
  30. files_id[filename] = file_id
  31. except requests.exceptions.RequestException as e:
  32. print("请求出错:", e)
  33. return None
  34. except Exception as e:
  35. return None
  36. return files_id
  37. if __name__ == '__main__':
  38. # print(FileUploadUtils.cfgs["aliyun"]["cookies"])
  39. report_dir = './data/reports/00000000000000000000000011445301/440298'
  40. files = [
  41. '卷烟信息表',
  42. '品规商户特征关系表',
  43. '相似卷烟表',
  44. '商户售卖推荐表'
  45. ]
  46. FileUploadUtils.upload_files(report_dir, files)