Flask:尝试发送JSON文件以供客户端下载时出错

时间:2015-08-18 19:32:29

标签: python json download io flask

我有一个字典,将一个键映射到多个值,我想将该dict作为json文件发送给用户下载。

@app.route('/test', methods=['GET','POST'])
def test():

    data=dict()
    foods=['burger','hotdog']
    foods2=['fries','chips']
    data['John']=foods
    data['Ken']=foods2
    nutrition=jsonify(data)
    return Response(nutrition,
                mimetype='application/json',
                headers={'Content-Disposition':'attachment;filename=nutrition.json'})

关于similar post的后续解决方案,但我收到错误:

TypeError: 'Response' object is not iterable

我还尝试将data作为参数发送到Response,但没有用。有人可以解释我做错了什么。

1 个答案:

答案 0 :(得分:2)

jsonify为您创建一个Response对象,因此您不应将其传递给Response构造函数。

nutrition = jsonify(data)
nutrition.headers['Content-Disposition'] = 'attachment;filename=nutrition.json'
return nutrition