| from urllib.parse import quote | |||||
| from flask import Response, request | from flask import Response, request | ||||
| from flask_restful import Resource, reqparse # type: ignore | from flask_restful import Resource, reqparse # type: ignore | ||||
| from werkzeug.exceptions import NotFound | from werkzeug.exceptions import NotFound | ||||
| if upload_file.size > 0: | if upload_file.size > 0: | ||||
| response.headers["Content-Length"] = str(upload_file.size) | response.headers["Content-Length"] = str(upload_file.size) | ||||
| if args["as_attachment"]: | 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 | return response | ||||