我想创建一个使用shiny的GUI来获取5个文件作为输入。一旦我上传了这些文件,我希望将它们保存在我知道其目的地的特定文件夹中。我们可以这样做吗?如果有,怎么样? 谢谢。
答案 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)
(我想在我的应用程序中使用它,但我花了很多时间来解决这个问题,因为我是新手)