fix: support non-ascii charactors in filename of the tool files (#19228)

This commit is contained in:
Bowen Liang
2025-05-06 09:18:11 +08:00
committed by GitHub
parent e352ab2bdd
commit 22f5af9987
2 changed files with 6 additions and 2 deletions

View File

@@ -1,3 +1,5 @@
from urllib.parse import quote
from flask import Response
from flask_restful import Resource, reqparse # type: ignore
from werkzeug.exceptions import Forbidden, NotFound
@@ -46,7 +48,8 @@ class ToolFilePreviewApi(Resource):
if tool_file.size > 0:
response.headers["Content-Length"] = str(tool_file.size)
if args["as_attachment"]:
response.headers["Content-Disposition"] = f"attachment; filename={tool_file.name}"
encoded_filename = quote(tool_file.name)
response.headers["Content-Disposition"] = f"attachment; filename*=UTF-8''{encoded_filename}"
return response