Служите загружаемые файлы с сантехник - PullRequest
0 голосов
/ 21 сентября 2018

Как я могу настроить мой API сантехника так, чтобы он обслуживал загружаемый файл?

Например, я хотел бы передать объект rds или RData напрямую, а не сериализовать его в JSON.

1 Ответ

0 голосов
/ 21 сентября 2018

Важно использовать правильный сериализатор:

# 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)
...