问题:如何使用存储在 OpenCPU 服务器上的输出文件作为另一个函数的输入?
背景:
我正在尝试在 openCPU 中使用knitr
和markdown
生成 html,我可以使用它来更新带有页面加载统计信息的网页。
基本工作流程如下:
- 生成 .Rmd 文件,存储在本地。
- 访问使用 AJAX 将 .Rmd 文件上传到服务器上的 OpenCPU 实例的网页。
knit
通过 openCPU使用该函数将函数转换为存储在服务器上的 *.md 文件。- 对存储在服务器上的文件使用该
markdownToHTML
函数(通过传入通过调用生成的适当哈希knit
)并接收包含生成的 HTML 的 AJAX 回复。 - 使用新的 HTML 更新网页。
就目前而言,我的这个过程一直到第 4 步。我可以knit
通过表单请求 POST 调用传入 .Rmd 文件,并且我收到来自 OpenCPU 的以下回复:
{
"object" : "xa9eaea44e1",
"graphs" : [
"xf31dcfe7f3"
],
"files" : {
"figure" : "xfc55396fd8",
"test.md" : "x7821c69f79"
}
}
通过函数"test.md"
生成的输出文件在哪里。knit
现在,我尝试使用散列(在这种情况下"x7821c69f79"
,通过 POST 到/R/pub/markdown/markdownToHTML/ascii
以下参数:
file /R/tmp/x7821c69f79/bin
这将返回HTTP 400
带有以下消息的错误:
cannot open URL 'http://localhost/R/store/R/tmp/x7821c69f79/bin/rds'
但是,当我向 发出 GET 请求时,会返回/R/tmp/x7821c69f79/bin
的内容。test.md
所以我知道文件在调用knit
.
那么,这里发生了什么?换句话说,如何使用存储在 OpenCPU 服务器上的输出文件作为另一个函数的输入?