Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get file through API call (R & plumber)

I'm using plumber as a simple web-api service for some R functions.

I would like to provide a file 'download' (on the client side) through an R function very much like flask is doing it in python through send_file and send_from_directory.

I tried

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

But unfortunately it didn't work (because the return value cannot be transformed to JSON). I'm aware of static file server option in plubmer, but I really want to provide only one single file and not a directory. (Although serving files in directory through @assets seems to be a more secure option.)

like image 865
Drey Avatar asked May 25 '17 16:05

Drey


1 Answers

Sorry this isn't better documented, but see some examples here: https://github.com/trestletech/plumber/blob/master/tests/testthat/files/includes.R

I don't remember if I've tested with binary data or how it will handle the Rdata content type, so if things are still weird please open a ticket.

like image 53
Jeff Allen Avatar answered Oct 02 '22 22:10

Jeff Allen