Сохранить выходные данные скрипта CGI под другим именем файла, чем имя скрипта - PullRequest
4 голосов
/ 27 сентября 2011

У меня есть скрипт Python CGI script.py, работающий на сервере. Это производит файл CSV как вывод. Я хочу, чтобы неопытные компьютерщики, которые не знают о расширениях файлов, могли просто сохранять файл на свой жесткий диск и использовать его двойным щелчком мыши.

Проблема: если теперь они нажимают «ОК» в диалоговом окне сохранения браузера, имя сохраненного файла будет script.py вместо script.csv.

Как я могу установить какое-то "имя файла по умолчанию" из CGI? Может быть, какая-то хитрость в заголовке HTTP? У меня нет доступа к конфигурации сервера.

1 Ответ

5 голосов
/ 27 сентября 2011

Вам необходимо установить заголовок Content-Disposition с атрибутом filename. См. предыдущий вопрос для обсуждения.

Ваш будет выглядеть так:

Content-Disposition: attachment; filename=script.csv

Наряду с установкой имени файла, браузер должен сохранять файл, а не открывать его в строке.

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