【发布时间】:2014-10-19 21:10:09
【问题描述】:
我有一个从 Web 表单中读取的 JSON 字符串,我想从中创建一个临时文件并允许将文件下载到本地客户端计算机。换句话说,我的 app.route 读取字符串,将字符串写入文件,然后将文件发送给客户端:
@app.route('/sendFile', methods=['POST'])
def sendFile():
content = str(request.form['jsonval'])
with open('zones.geojson', 'w') as f:
f.write(content)
return send_file(f)
完成这项工作的最佳方法是什么?
【问题讨论】:
-
如果是临时文件,为什么需要写入文件?假设提交表单,并且它到达了您的路线,我认为您可以只打印 json 并设置 HTTP 标头来下载文件而不是显示它。我认为
Content-Disposition标头? -
这是一个例子(虽然它使用 PHP):stackoverflow.com/questions/11545661/php-force-download-json
-
确实可以,感谢您让我走上正轨。