NinjaR
NinjaR

Reputation: 623

Get the name of uploaded file as a variable in Shiny

I am creating a Shiny App where one of the sections of a Venn Diagram will be named after the uploaded file(done by user). For example, if someone uploads a file ClientXYZ.csv, one section of the Venn diagram will be named "ClientXYZ"

Is it possible to do this in Shiny?

Upvotes: 2

Views: 3365

Answers (1)

Icaro Bombonato
Icaro Bombonato

Reputation: 4172

Its not clear without a reproducible example, but you can grab the name of the file with input and name.

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)

Upvotes: 5

Related Questions