From 7f72a039a58f1b38d3467b819fb9396f37923b65 Mon Sep 17 00:00:00 2001 From: yinjiaqi Date: Wed, 8 Jan 2025 16:21:33 +0800 Subject: [PATCH] =?UTF-8?q?Components=E6=96=B0=E5=A2=9E=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=A4=84,=E5=90=8C=E6=97=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0V2=E6=96=87=E7=94=9F=E5=9B=BE=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- python/core/component.py | 13 ++++++++++++- .../core/components/v2/text_to_image/component.py | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/python/core/component.py b/python/core/component.py index 2468f5d0..da864415 100644 --- a/python/core/component.py +++ b/python/core/component.py @@ -24,7 +24,7 @@ from appbuilder.core.utils import ttl_lru_cache from appbuilder.core._client import HTTPClient, AsyncHTTPClient from appbuilder.core.message import Message - +from urllib.parse import urlparse, unquote class ComponentArguments(BaseModel): """ @@ -581,3 +581,14 @@ def create_output(cls, type, text, role="tool", name="", visible_scope="all", ra }] } return ComponentOutput(**result) + + @staticmethod + def get_filename_from_url(url): + """从给定URL中提取文件名""" + parsed_url = urlparse(url) + # 提取路径部分 + path = parsed_url.path + # 从路径中获取文件名 + filename = path.split('/')[-1] + # 解码URL编码的文件名 + return unquote(filename) diff --git a/python/core/components/v2/text_to_image/component.py b/python/core/components/v2/text_to_image/component.py index 594cbf6b..07972597 100644 --- a/python/core/components/v2/text_to_image/component.py +++ b/python/core/components/v2/text_to_image/component.py @@ -197,7 +197,7 @@ def tool_eval( yield self.create_output( type='image', text={ - 'filename': "", + 'filename': self.get_filename_from_url(img_urls[url_number]), 'url': img_urls[url_number], }, raw_data=raw_data,