R Shiny - загрузка файла всегда NULL - PullRequest
0 голосов
/ 11 июня 2018

Я собираю блестящее приложение и пробую что-то вроде следующего:

require("shiny")

ui <- fluidPage(
  fluidRow(fileInput(inputId = "dataFile", label = NULL)),
  fluidRow(wellPanel(tableOutput(outputId = "rawText")))
)

server <- function(input, output) {
  observe({
    upFile <- input$dataFile

    if(!is.null(upFile)) {
      raw.dat <<- reactive({
        read.csv(file = upFile$datapath, header = TRUE, stringsAsFactors = FALSE)
      })
    } else raw.dat <<- reactive({})
  })

  output$rawFile <- renderTable(as.data.frame(raw.dat()))
}

shinyApp(ui = ui, server = server)

и все же даже после загрузки файла, raw.dat() всегда, всегда возвращает NULL.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Ваш загруженный файл, вероятно, больше допустимого размера по умолчанию, измените допустимое значение, используя:

options(shiny.maxRequestSize = MB*1024^2) #Change MB to suit your needs
0 голосов
/ 11 июня 2018

Просто сделайте ваш raw.dat объект реактивным.Поскольку он зависит от input$dataFile, он сделает наблюдения за вас.

raw.dat <- reactive({
  upFile <- input$dataFile
  if (is.null(inFile)) return(NULL)
  read.csv(upFile$datapath, header = TRUE, stringsAsFactors = FALSE)
})
...