我正在尝试将文件从Flask发送到浏览器,如下面的代码所示
response = make_response(send_file(os.path.abspath(app.root_path)+server_path,as_attachment=True))
response.mimetype = mimetype # Chosen between "application/zip" and "application/gz"
return response
我没有直接使用send_file,因为我需要在响应中添加额外的标头。 问题是,在Chrome中这可以正常工作,但是当我转到Firefox时,有时下载会挂在下载管理器中而没有启动,或者下载开始,但是页面不会刷新。 可能是这种行为的原因?
答案 0 :(得分:1)
是完整的代码示例,还是您对响应做其他事情?您是否还要添加其他标题?您是说当您尝试send_file
而不先将其包装在make_response
中时,它就可以在Firefox上使用吗?
此外,根据您使用的烧瓶的版本,send_file
支持向mimetype方法添加参数,请参见文档:http://flask.pocoo.org/docs/1.0/api/#flask.send_file,因此可能没有理由使用make_response
函数将其包装。