From 0c017773e5400ca05040e2ae6795c800be724256 Mon Sep 17 00:00:00 2001 From: H Vs Date: Mon, 21 Apr 2025 14:59:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A7=81=E8=81=8A=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/endpoints/pipeline_endpoint.py | 15 ++++++++++----- common/utils.py | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/app/endpoints/pipeline_endpoint.py b/app/endpoints/pipeline_endpoint.py index 1edff10..eb99e96 100644 --- a/app/endpoints/pipeline_endpoint.py +++ b/app/endpoints/pipeline_endpoint.py @@ -1020,13 +1020,18 @@ async def handle_video_async(request: Request,token_id,app_id, wxid,msg_data,fro logger.info('视频消息') try: msg_content_xml=msg_data["Content"]["string"] - video_url=await request.app.state.gewe_service.download_video_msg_async(token_id,app_id,msg_content_xml) - if not video_url: - logger.warning(f'处理视频消息异常') + wx_video_url=await request.app.state.gewe_service.download_video_msg_async(token_id,app_id,msg_content_xml) + if not wx_video_url: + logger.warning(f'处理微信视频消息异常') return callback_to_user=from_wxid - print(video_url) - wx_content_dialogue_message = [{"type": "file", "file_url": {"url":video_url}}] + print(wx_video_url) + + file_url=url_file_to_oss(wx_video_url) + if not file_url: + logger.warning(f'处理微信视频上传到oss异常') + return + wx_content_dialogue_message = [{"type": "file", "file_url": {"url":file_url}}] k_message = dialogue_message(callback_to_user,wxid, wx_content_dialogue_message) await request.app.state.kafka_service.send_message_async(k_message) logger.info("发送对话 %s",k_message) diff --git a/common/utils.py b/common/utils.py index e7e9ccb..6d4fe06 100644 --- a/common/utils.py +++ b/common/utils.py @@ -375,6 +375,22 @@ def download_video_and_get_thumbnail(url, thumbnail_path): return file_url, duration + +def url_file_to_oss(url): + try: + # OSS 配置(建议将凭证存储在安全的地方) + oss_access_key_id="LTAI5tRTG6pLhTpKACJYoPR5" + oss_access_key_secret="E7dMzeeMxq4VQvLg7Tq7uKf3XWpYfN" + oss_endpoint="http://oss-cn-shanghai.aliyuncs.com" + oss_bucket_name="cow-agent" + oss_prefix="cow" + file_url = upload_oss(oss_access_key_id, oss_access_key_secret, oss_endpoint, oss_bucket_name, url, oss_prefix) + return file_url + except Exception as e: + print(f"发生错误:{e}") + return None # 发生错误时返回 None + + def contains_url(text): # 定义检测网址的正则表达式 url_pattern = re.compile(