R shinyFiles的文件夹选择已停止使用更新
一年前,我正在构建一个闪亮的应用程序,并且正在研究如何使用shinyFiles显示默认文件夹 此时,在评论员的帮助下,我构建了一个可复制的示例,该示例正在运行:R shinyFiles的文件夹选择已停止使用更新,r,docker,shiny,R,Docker,Shiny,一年前,我正在构建一个闪亮的应用程序,并且正在研究如何使用shinyFiles显示默认文件夹 此时,在评论员的帮助下,我构建了一个可复制的示例,该示例正在运行: library(shiny) library(shinyFiles) ui <- fluidPage( # Application title mainPanel( shinyDirButton("dir", "Input directory", "Upload"), verbatimTextOutput("
library(shiny)
library(shinyFiles)
ui <- fluidPage( # Application title
mainPanel(
shinyDirButton("dir", "Input directory", "Upload"),
verbatimTextOutput("dir", placeholder = TRUE)
))
server <- function(input, output) {
shinyDirChoose(
input,
'dir',
roots = c(home = '~'),
filetypes = c('', 'txt', 'bigWig', "tsv", "csv", "bw")
)
global <- reactiveValues(datapath = getwd())
dir <- reactive(input$dir)
output$dir <- renderText({
global$datapath
})
observeEvent(ignoreNULL = TRUE,
eventExpr = {
input$dir
},
handlerExpr = {
home <- normalizePath("~")
global$datapath <-
file.path(home, paste(unlist(dir()$path[-1]), collapse = .Platform$file.sep))
})
}
# Run the application
shinyApp(ui = ui, server = server)
我现在不知道怎么了。我试着安装shinyFiles的前一个版本,但令人惊讶的是仍然出现同样的错误。所以它一定是另一个包裹
如果有任何想法,我将不胜感激
UPD。添加req(is.list(input$dir))修复了问题,现在我可以在应用程序中选择文件,但是如果我从Docker运行它,我看不到共享目录…好的,刚刚收到shinyFiles开发者的回复:
插入
req(is.list(input$dir))
修复了该问题 问题似乎是dir()$path[-1]
。我没有看到任何关于输入对象的$path
属性的文档。那是从哪里来的?我现在想找一份推荐信,但我不能。。。奇怪的
Warning: Error in $: $ operator is invalid for atomic vectors
75: unlist
72: observeEventHandler
1: shiny::runApp