From b09f22961ce3f349f7cf1dcc914b75a112cbf471 Mon Sep 17 00:00:00 2001 From: kenwoodjw Date: Wed, 19 Feb 2025 17:28:32 +0800 Subject: [PATCH] fix #13573 (#13843) Signed-off-by: kenwoodjw --- api/controllers/files/image_preview.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/api/controllers/files/image_preview.py b/api/controllers/files/image_preview.py index 2357288a50..6f39908b6e 100644 --- a/api/controllers/files/image_preview.py +++ b/api/controllers/files/image_preview.py @@ -1,3 +1,5 @@ +from urllib.parse import quote + from flask import Response, request from flask_restful import Resource, reqparse # type: ignore from werkzeug.exceptions import NotFound @@ -71,7 +73,8 @@ class FilePreviewApi(Resource): if upload_file.size > 0: response.headers["Content-Length"] = str(upload_file.size) if args["as_attachment"]: - response.headers["Content-Disposition"] = f"attachment; filename={upload_file.name}" + encoded_filename = quote(upload_file.name) + response.headers["Content-Disposition"] = f"attachment; filename*=UTF-8''{encoded_filename}" return response