【问题标题】:File download on Safari using response package: Failed to load resource: Frame load interrupted使用响应包在 Safari 上下载文件:加载资源失败:帧加载中断
【发布时间】:2017-04-23 18:57:15
【问题描述】:

我想在用户单击按钮时下载文件。我是通过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.html 文件而不是 .bib 文件? 知道发生了什么吗?还有其他适用于 Safari 和 Chrome 的方法吗?

【问题讨论】:

    标签: javascript python response


    【解决方案1】:

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

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

    内容类型规范很重要

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 1970-01-01
      • 2016-04-24
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 2012-04-12
      • 1970-01-01
      • 2017-02-01
      相关资源
      最近更新 更多