算法暴露接口(xhs、dy、ks、wx、hnw)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.4 KiB

7 months ago
  1. import requests, os
  2. from utils.tool import upload_file
  3. import traceback
  4. def decode(content, decodekey):
  5. """
  6. :param content:
  7. :param decodekey:
  8. :return:
  9. """
  10. url = "http://127.0.0.1:3000/wx/decode1"
  11. files = {'file': content}
  12. param = {
  13. "decodekey": decodekey
  14. }
  15. response = requests.post(url, files=files, params=param)
  16. return response.content
  17. def save_video(content, filename):
  18. """
  19. tmp下
  20. :param content:
  21. :param filename:
  22. :return:
  23. """
  24. tmp_file = f"{os.getcwd()}/wx/tmp/{filename}"
  25. with open(tmp_file, 'wb') as f:
  26. f.write(content)
  27. f.close()
  28. return filename
  29. async def main(content, decodekey):
  30. """
  31. -
  32. -
  33. :param content:
  34. :param decodekey:
  35. :return:
  36. """
  37. file_name = f"{decodekey}.mp4"
  38. res = {"code": 200, "msg": "上传成功", "filePath": ""}
  39. try:
  40. content = decode(content, decodekey)
  41. upload_file_name = await upload_file(file_name, content)
  42. except Exception as e: # 失败则保存本地
  43. traceback.print_exc()
  44. upload_file_name = save_video(content, file_name)
  45. res["code"] = 203
  46. res["msg"] = "上传失败,保存到本地"
  47. res["filePath"] = upload_file_name
  48. return res