如何使用户能够在闪亮的应用程序中上传多个文件?

时间:2019-12-17 14:43:58

标签: r shiny

我知道我必须使用fileInput函数,但是我希望用户只能上载一个或两个或三个或几个文件,然后对这些文件执行基础代码。 然后,我希望用户能够下载结果文件,但是我认为我知道该怎么做。 预先感谢您提供任何答案。

1 个答案:

答案 0 :(得分:1)

我确实相信this应该将您带向正确的方向,对我来说就像是一种魅力。基本逻辑是启用multiple中的fileInput标志并遍历服务器功能中的文件列表。

library(shiny)
library(data.table)

ui <- fluidPage(
  titlePanel("Multiple file uploads"),
  sidebarLayout(
    sidebarPanel(
      fileInput("csvs",
                label="Upload CSVs here",
                multiple = TRUE)
    ),
    mainPanel(
      textOutput("count")
    )
  )
)

server <- function(input, output) {
  mycsvs<-reactive({
    rbindlist(lapply(input$csvs$datapath, fread),
              use.names = TRUE, fill = TRUE)
  })
  output$count <- renderText(nrow(mycsvs()))
}

shinyApp(ui = ui, server = server)