我正在使用OpenCPU作为表示层,以基于R包生成一些图。图表运行良好,现在用户需要下载用于生成图的数据以进行更深入的分析。
有没有可能检索数据?
可能不会重复调用那些检索数据的功能(我已连接到DB)?
我想要一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式),并将图表中显示的信息与接收到的数据相关联。
非常感谢您的回复。
最佳答案
您可能想在R中创建两个函数:getdata
:从数据库检索数据并返回数据框的函数。makeplot
:带有dataframe参数的函数,该函数创建绘图,但不返回任何内容。
然后,您的客户可以分别给他们打电话。首先,客户端调用getdata
从数据库中检索数据,然后服务器将使用表示服务器上返回的dataframe对象的临时{key}
进行响应,例如x01234567
。
然后,您可以使用此键下载数据集或将其用作创建图的参数。要下载数据,只需创建一个超链接即可,例如:http://your.server.com/ocpu/tmp/x01234567/R/.val/csv
http://your.server.com/ocpu/tmp/x01234567/R/.val/tab
http://your.server.com/ocpu/tmp/x01234567/R/.val/json
要创建图,客户端调用makeplot
并将x01234567
作为数据框的参数值传递。 OpenCPU
服务器将自动为此键的对象查找getdata
之前返回的数据框对象。
关于javascript - 使用OpenCPU下载用于生成图的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23619984/