闪亮的应用文件上传:我们如何将闪亮的GUI上传的文件保存到特定目的地?

时间:2015-08-12 13:39:22

标签: r shiny

我想创建一个使用shiny的GUI来获取5个文件作为输入。一旦我上传了这些文件,我希望将它们保存在我知道其目的地的特定文件夹中。我们可以这样做吗?如果有,怎么样? 谢谢。

2 个答案:

答案 0 :(得分:8)

好吧,有点儿。您可以使用观察者在上传时复制文件:

library(shiny)

shinyApp(
    ui=shinyUI(bootstrapPage(
       fileInput("upload", "Upload", multiple = FALSE)
    )),

    server=shinyServer(function(input, output, session){               
        observe({
            if (is.null(input$upload)) return()
            file.copy(input$upload$datapath, "/some/other/path")
        })
    })
)

当目的地位于与临时目录不同的设备上时,不是我使用file.copy而不是file.rename来避免问题。

答案 1 :(得分:1)

除了 zero323 的答案外,如果您想在每次重新运行应用期间覆盖旧的上传内容,请使用file.copy,如下所示:

file.copy(..., recursive= TRUE)

(我想在我的应用程序中使用它,但我花了很多时间来解决这个问题,因为我是新手)