算法暴露接口(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.
 

59 lines
1.4 KiB

import requests, os
from utils.tool import upload_file
import traceback
def decode(content, decodekey):
"""
调用三方服务解密
:param content:
:param decodekey:
:return:
"""
url = "http://127.0.0.1:3000/wx/decode1"
files = {'file': content}
param = {
"decodekey": decodekey
}
response = requests.post(url, files=files, params=param)
return response.content
def save_video(content, filename):
"""
保存文件到 tmp下 返回绝对路径
:param content:
:param filename:
:return:
"""
tmp_file = f"{os.getcwd()}/wx/tmp/{filename}"
with open(tmp_file, 'wb') as f:
f.write(content)
f.close()
return filename
async def main(content, decodekey):
"""
处理上传文件流
- 成功则成功;
- 失败则保存在本地
:param content:
:param decodekey:
:return:
"""
file_name = f"{decodekey}.mp4"
res = {"code": 200, "msg": "上传成功", "filePath": ""}
try:
content = decode(content, decodekey)
upload_file_name = await upload_file(file_name, content)
except Exception as e: # 失败则保存本地
traceback.print_exc()
upload_file_name = save_video(content, file_name)
res["code"] = 203
res["msg"] = "上传失败,保存到本地"
res["filePath"] = upload_file_name
return res