首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在R Shiny中上传用户选择的目录

在R Shiny中上传用户选择的目录
EN

Stack Overflow用户
提问于 2018-11-30 12:39:47
回答 1查看 951关注 0票数 1

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

除了通过fileInput(..., multiple = TRUE),还有什么方法可以上传这些文件吗?理想情况下,我会让用户上传整个目录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-30 23:05:24

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

示例

代码语言:javascript
复制
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)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53551352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档