From 68a9af50d84bf00c58574e3708c559dc252f8123 Mon Sep 17 00:00:00 2001 From: prashantsinalkar Date: Wed, 10 Jul 2019 18:11:47 +0530 Subject: added upload function --- plumber.R | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'plumber.R') diff --git a/plumber.R b/plumber.R index 0f091c8..099661c 100644 --- a/plumber.R +++ b/plumber.R @@ -68,3 +68,27 @@ robust.system <- function (cmd) { unlink(c(stdoutFile, stderrFile)) return(retval) } + + +#* @post /upload +upload <- function(req, res){ + cat("---- New Request ----\n") + # the path where you want to write the uploaded files + file_path <- "/data/home/r_on_cloud/R_on_Cloud_Web_API/" + # strip the filename out of the postBody + file_name <- gsub('\"', "", substr(req$postBody[2], 55, 1000)) + # need the length of the postBody so we know how much to write out + file_length <- length(req$postBody)-1 + # first five lines of the post body contain metadata so are ignored + file_content <- req$postBody[5:file_length] + # build the path of the file to write + file_to_write <- paste0(file_path, file_name) + # write file out with no other checks at this time + write(file_content, file = file_to_write) + # print logging info to console + cat("File", file_to_write, "uploaded\n") + # return file path &name to user + ro <- file_to_write + r<- list(status = "SUCCESS", code = "200", output = ro) + return (r) +} -- cgit