使用响应包在Safari上下载文件:无法加载资源:帧加载中断

时间:2017-04-23 18:57:15

标签: javascript python response

我想在用户点击按钮时下载文件。我通过python flask实现了它,响应包如下

bib_text = 'test'

filename = 'test_file'
response = make_response(bib_text)
response.headers["Content-Disposition"] = "attachment; filename=%s.bib" % filename
return response

上面的代码在Chrome上运行正常,但在Safari上,javascript控制台告诉我错误

Failed to load resource: Frame load interrupted

而不是.bib文件下载.bib.html文件? 知道发生了什么事吗?还有另一种方法可以用于Safari和Chrome吗?

1 个答案:

答案 0 :(得分:0)

可以通过添加以下标题规范来解决问题

response.headers["Cache-Control"] = "must-revalidate"
response.headers["Pragma"] = "must-revalidate"
response.headers["Content-type"] = "application/bib"

内容类型规范是重要的规范