首页 文章

如何在python flask的新选项卡中打开响应

提问于
浏览
1

我有一个简单的代码,将生成QR代码,但我希望生成的QR代码显示在一个新的选项卡中,我已经实现了在当前页面中显示图像,但我希望它在新的选项卡中打开 .

code = form.code.data
  qr = pyqrcode.create(code)
  qr.png(code+'.png', scale=6)
  with open(code+'.png', "rb") as f:
    return Response(f.read(), content_type="image/png")

P.S:为未来的读者编辑 .

2 回答

  • 0

    您需要从客户端(浏览器/模板)执行此操作,因为刻录机在服务器上运行并且与浏览器(客户端)没有任何关联 .

    从模板中,您可以打开一个新窗口,该窗口可能会也可能不会打开新选项卡(这取决于用户配置浏览器的方式) .

  • 1

    如果“新选项卡”表示仅在Web浏览器上显示(没有下载),则可以在HTTP HEADRS下面修改以显示图像而不下载 .

    Content-Disposition: attachment; filename="filename.png"
    Content-Type: image/png
    

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition

    在烧瓶中,您可以更改http标头

    response = flask.Response()
    response.headers['Content-Disposition'] = 'attachment; filename="filename.png"'
    response.headers['Content-Type'] = 'image/png'
    

相关问题