Я пытался внедрить «ссылку для скачивания» и поместить ее рядом с одной из моих таблиц отчетов, чтобы пользователи могли загружать CSV-файл и открывать его в таких приложениях, как Excel.
Записи генерируются динамически на основе запросов, сделанных пользователями.
Итак, где-то в моем контроллере есть что-то вроде:
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = 'attachment; filename=xxx.csv'
return response.stream(dynamically_generated_csv, request=request)
Это работает как в FireFox, так и в Chrome, но не работает в IE.
Когда я распечатал заголовки ответов, я обнаружил, что web2py добавил к моему ответу несколько заголовков: «Expires», «Cache-Control» и т. д.
И когда я удаляю заголовок «Cache-Control», выполнив следующие действия:
del response.headers['Cache-Control']
В ИЕ работает.
Таким образом, похоже, что у IE возникают проблемы с загружаемым файлом с установленным значением «Cache-Control».
Теперь мой вопрос:
Почему web2py неявно добавляет эти заголовки ответов? а может без способа его отключить?
есть ли какой-либо побочный эффект, когда я удаляю заголовок «Cache-Control» таким образом?
Заранее спасибо.