请问有什么简单的方法允许R Shiny应用程序的用户(本地,不在服务器上)从计算机中选择目录,然后输出路径?我找不到诸如fileInput
这样的简单方法来选择文件。
我希望用户能够在整个PC上搜索文件夹,然后选择该文件夹,并且该文件夹的路径将显示在Shiny应用程序中,例如
C:\users\Jane\folder
。在下面的答案中,我只能在当前工作目录中搜索文件夹,而不是整个PC,并且在Shiny应用程序中不会显示该文件夹的路径。
答案 0 :(得分:1)
您可以考虑使用shinyFiles
软件包。
在服务器端,您使用
shinyDirChoose(input, id = 'folder', ...)
,然后可以通过input$folder
访问选定的文件夹。
可复制的示例:
library(shiny)
library(shinyFiles)
shinyApp(
shinyUI(bootstrapPage(
shinyDirButton('folder', 'Select a folder', 'Please select a folder', FALSE)
)),
shinyServer(function(input, output) {
shinyDirChoose(input, 'folder', roots=c(wd='.'), filetypes=c('', 'txt'))
observe({
print(input$folder)
})
})
)
答案 1 :(得分:0)
有些人在问如何选择不同的目录。您可以按照下面的步骤通过更改roots
的规范来做到这一点。
library(shiny)
library(shinyFiles)
ui <- fluidPage(
shinyDirButton('folder', 'Select a folder', 'Please select a folder', FALSE)
)
server <- function(input, output){
volumes = getVolumes() # this makes the directory at the base of your computer.
observe({
shinyDirChoose(input, 'folder', roots=volumes, filetypes=c('', 'txt'))
print(input$folder)
})
}
shinyApp(ui=ui, server=server)