我试图实现一个“下载链接”并将其放在我的一个报告表旁边,以便用户可以下载 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。
因此,IE 似乎无法处理将“Cache-Control”设置为特定值的可下载文件。
现在,我的问题是:
为什么 web2py 会隐式添加这些响应标头?也许没有办法将其关闭?
当我以这种方式删除“Cache-Control”标头时是否有任何副作用?
提前致谢。