| @@ -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 | |||