我使用 OpenCPU 作为表示层来生成一些基于 R 包的图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。有可能检索数据吗?可以不重复调用那些检索数据的函数(我已连接到数据库)?
我想放一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式)并将图表中显示的信息与收到的数据相关联。
非常感谢您的回复。
我使用 OpenCPU 作为表示层来生成一些基于 R 包的图。图表运行良好,现在用户需要下载用于生成图表的数据以进行更深入的分析。有可能检索数据吗?可以不重复调用那些检索数据的函数(我已连接到数据库)?
我想放一个按钮,然后最终用户可以单击并开始下载文件(纯文本或任何格式)并将图表中显示的信息与收到的数据相关联。
非常感谢您的回复。
您可能想在 R 中创建两个函数:
getdata
:从数据库中检索数据并返回数据框的函数。makeplot
:一个带有数据框参数的函数,它创建你的图并且什么都不返回。然后你的客户你可以单独打电话给他们。首先,客户端调用getdata
以从数据库中检索数据,服务器将响应一个临时响应,该临时{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
。