如何设置我的管道工API,以便它提供可下载的文件?
例如,我想直接传递rds
或RData
对象,而不是将其序列化为JSON。
答案 0 :(得分:0)
使用正确的序列化器很重要:
# If the URL gets called the browser will automatically download the file.
#' @serializer contentType list(type="application/octet-stream")
#' @get /rds
rest_rds = function() {
tfile = tempfile()
saveRDS(iris, file = tfile)
readBin(tfile, "raw", n = file.info(tfile)$size)
}
在提供了该管道工脚本后,您可以下载该对象并将其导入到单独的R会话中,如下所示:
tfile = tempfile()
download.file("http://127.0.0.1:7983/rds", destfile = tfile)
d_iris = readRDS(tfile)