我正在创建一个闪亮的应用程序,其中维恩图的一个部分将以上传的文件命名(由用户完成)。例如,如果有人上传文件ClientXYZ.csv,那么维恩图的一部分将被命名为“ClientXYZ”
是否可以在Shiny中执行此操作?
答案 0 :(得分:3)
如果没有可重复的示例,则不清楚,但您可以使用输入和名称获取文件的名称。
library(shiny)
ui <- fluidPage(
titlePanel("Grabbing my file name"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Select your file',
accept = c(
'text/csv',
'text/comma-separated-values',
'.csv'
)
)
),
mainPanel(
textOutput("myFileName")
)
)
)
server <- function(input, output) {
file_name <- reactive({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
return (stringi::stri_extract_first(str = inFile$name, regex = ".*(?=\\.)"))
})
output$myFileName <- renderText({ file_name() })
}
# Run the application
shinyApp(ui = ui, server = server)