From 119ef71057b651230d8089ed1cf75d224cd4d5fa Mon Sep 17 00:00:00 2001 From: LawyZheng Date: Fri, 1 Aug 2025 11:25:36 +0800 Subject: [PATCH] add more rule to parse filename when downloading (#3076) --- skyvern/forge/sdk/api/files.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/skyvern/forge/sdk/api/files.py b/skyvern/forge/sdk/api/files.py index 5cbe344e..d743b66a 100644 --- a/skyvern/forge/sdk/api/files.py +++ b/skyvern/forge/sdk/api/files.py @@ -113,16 +113,15 @@ async def download_file(url: str, max_size_mb: int | None = None) -> str: except Exception: LOG.exception("Failed to retrieve the file extension from HTTP headers") + # parse the query params to get the file name + query_params = dict(parse_qsl(a.query)) + if "download" in query_params: + file_name = query_params["download"] + if not file_name: LOG.info("No file name retrieved from HTTP headers, using the file name from the URL") file_name = os.path.basename(a.path) - # Check for download parameter in Supabase URLs - if "supabase.co" in a.netloc.lower(): - query_params = dict(parse_qsl(a.query)) - if "download" in query_params: - file_name = query_params["download"] - if not Path(file_name).suffix and file_suffix: LOG.info("No file extension detected, adding the extension from HTTP headers") file_name = file_name + file_suffix