Как безопасно кодировать заголовок содержимого HTTP с помощью Python? - PullRequest
1 голос
/ 23 апреля 2019
response['Content-Disposition'] = 'attachment; filename=%s' % filename

В этом ответе Django заголовок вызывает загрузку, но запятые в имени файла заставляют Chromium выдавать ошибку низкого уровня, а пробелы приводят к изменению имени файла при загрузке.Как мне закодировать имя файла, чтобы загруженный файл получал то же имя файла?

Преобразование имени файла в slug, кажется, решает проблему, но я хочу скачать с исходным именем файла.

1 Ответ

2 голосов
/ 23 апреля 2019

Google "Реестр полей заголовка сообщения IANA", найдите https://www.iana.org/assignments/message-headers/message-headers.xhtml.

Запись для ссылок "Content-Disposition" на: https://tools.ietf.org/html/rfc6266

Значение поля может быть токеном или строкой в ​​кавычках, вам нужна строка в кавычках (которая, в свою очередь, определена в RFC 2616 (обновлено в RFC 7230), которая объяснит, как избежать двойных кавычек).

Обратите внимание, что если вам нужны символы не ASCII, вам нужно будет использовать «имя файла *» вместо «имя файла», как описано в RFC 6266.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...