通过 API 调用获取文件 (R & plumber)

Get file through API call (R & plumber)

我正在使用 plumber 作为一些 R 函数的简单 web-api 服务。

我想通过非常类似于 flask is doing it in python through send_file and send_from_directory 的 R 函数提供文件 'download'(在客户端)。

我试过了

#* @get /datafile
get_file <- function(){
  return(file('path-to-file.RData'))
}

但不幸的是它没有起作用(因为return值无法转换为JSON)。我知道 static file server option in plubmer,但我真的只想提供一个文件而不是目录。 (尽管通过 @assets 提供目录中的文件似乎是更安全的选择。)

抱歉,这没有更好的记录,但请在此处查看一些示例:https://github.com/trestletech/plumber/blob/master/tests/testthat/files/includes.R

我不记得我是否测试过二进制数据或者它如何处理 Rdata 内容类型,所以如果事情仍然很奇怪 please open a ticket