2016-04-29 73 views
0

我正在使用一个简单的在线应用程序,使用Flask,它将从HTML表单获取值,并使用matplotlib根据这些用户提供的值生成PDF图。在Flask中生成由matplotlib生成的动态PDF

所有这些工作,但现在我想产生一个HTML链接的结果页面,这将允许用户下载这个动态生成的PDF。理想情况下,这意味着动态地提供服务,而不是将其作为静态文件存储在服务器上(因此,为了保护隐私,我不会为每个人的PDF存档)。

到目前为止,我的Google-fu已经失败了。有什么建议么?

+1

你的问题到底是什么?你是否正在寻找一个指向['flask.send_file()'](http://flask.pocoo.org/docs/0.10/api/#flask.send_file)的指针?文件的内容是否是动态生成的,其实并没有太大区别。 –

+0

也许您可以尝试将生成的PDF存储在临时文件夹中,并在用户下载文件后将其删除。只是一个建议。希望它是有用的。 –

+0

'savefig'需要一个类似文件的对象,以便您可以将pdf写入字符串缓冲区。如何让烧瓶下载目标是我无法帮助你的。 – tacaswell

回答

0

根据生成图需要多长时间以及需要处理的并发请求数量,您可能需要实施任务队列以生成图。这将同时为PDF提供临时存储。例如,这可以使用Celery,Redis和PostgreSQL来实现。您的在线应用程序将不再简单。