使用withr :: with_options将shiny.maxRequestSize传递给闪亮的应用

时间:2018-05-21 19:20:35

标签: r shiny

我不明白为什么这段代码无法正常工作:

library(shiny)

ui <- fluidPage(
  verbatimTextOutput("option"),
  verbatimTextOutput("option2"),
  actionButton("go","go")
)

server <- function(input, output, session) {
  output$option <- renderText({getOption("repos")})
  output$option2 <- renderText({ getOption("shiny.maxRequestSize") })
}

withr::with_options(list(shiny.maxRequestSize="find_me"), {
  shiny::shinyApp(ui, server)
})

此应用应在textouput中显示“find_me” 我打错了吗? getOption("shiny.maxRequestSize")必须是'find_me',为什么不呢?

我当然可以在服务器中添加此选项,但我更喜欢使用with_option。

有什么想法吗?

此致

1 个答案:

答案 0 :(得分:2)

似乎with_options适用于runApp但不适用shinyApp。我不知道为什么,但至少,你可以使用它:

library(shiny)

ui <- fluidPage(
  verbatimTextOutput("option"),
  verbatimTextOutput("option2"),
  actionButton("go","go")
)

server <- function(input, output, session) {
  output$option <- renderText({getOption("repos")})
  output$option2 <- renderText({ getOption("shiny.maxRequestSize") })
}

withr::with_options(list(shiny.maxRequestSize="find_me"), {
  # shiny::shinyApp(ui, server)
  shiny::runApp(list(ui = ui, server = server))
})