上传R中用户选择的目录

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (5)

我有一个R闪亮的应用程序,需要上传多个文件(都在同一个文件夹中找到)。我也知道要查找的文件的名称。

有没有办法上传除via之外的这些文件fileInput(..., multiple = TRUE)?理想情况下,我会让用户上传整个目录。

提问于
用户回答回答于

您可以使用该库shinyFiles让用户在其本地磁盘上的某个位置拍摄文件夹。然后在服务器中,您可以使用用户输入从该文件夹加载所需的所有文件。

library(shiny)
library(shinyFiles)

### UI
ui <- fluidPage(
  shinyDirButton('directory_select', 'Select a directory', title='Select a directory'),
  textOutput('directory_name')
)

### Server
server <- function(input, output, session) {
  volumes <- getVolumes()
  shinyDirChoose(input, 'directory_select', roots=volumes, session=session)
  dirname <- reactive({parseDirPath(volumes, input$directory_select)})

  ## Observe input dir. changes
  observe({
    if(!is.null(dirname)){
      print(dirname())
      output$directory_name <- renderText(dirname())
      ## Load files here
      # csv <- read.csv(paste0(dirname(), '/filename1.csv'))
      # rdata <- load(paste0(dirname(), '/filename2.Rdata'))
      # etc.
    }
  })
}

shinyApp(ui = ui, server = server)

所属标签

可能回答问题的人

  • 天使的炫翼

    15 粉丝531 提问35 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问27 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券