fileInput
fileInput(inputId, label, multiple = FALSE, accept = NULL, width = NULL)Arguments
| inputId | The inputslot that will be used to access the value. | 
|---|---|
| label | Display label for the control, or NULLfor no label. | 
| multiple | Whether the user should be allowed to select and upload multiple files at once. Does not work on older browsers, including Internet Explorer 9 and earlier. | 
| accept | A character vector of MIME types; gives the browser a hint of what kind of files the server is expecting. | 
| width | The width of the input, e.g. '400px', or'100%';
seevalidateCssUnit. | 
Description
Create a file upload control that can be used to upload one or more files.
Details
Whenever a file upload completes, the corresponding input variable is set to a dataframe. This dataframe contains one row for each selected file, and the following columns:
- name
- The filename provided by the web browser. This is
  not the path to read to get at the actual data that was uploaded
  (see
  datapathcolumn).
- size
- The size of the uploaded data, in bytes.
- type
- The MIME type reported by the browser (for example,
  text/plain), or empty string if the browser didn't know.
- datapath
- The path to a temp file that contains the data that was uploaded. This file may be deleted if the user performs another upload operation.
Examples
## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      fileInput("file1", "Choose CSV File",
        accept = c(
          "text/csv",
          "text/comma-separated-values,text/plain",
          ".csv")
        ),
      tags$hr(),
      checkboxInput("header", "Header", TRUE)
    ),
    mainPanel(
      tableOutput("contents")
    )
  )
)
server <- function(input, output) {
  output$contents <- renderTable({
    # input$file1 will be NULL initially. After the user selects
    # and uploads a file, it will be a data frame with 'name',
    # 'size', 'type', and 'datapath' columns. The 'datapath'
    # column will contain the local filenames where the data can
    # be found.
    inFile <- input$file1
    if (is.null(inFile))
      return(NULL)
    read.csv(inFile$datapath, header = input$header)
  })
}
shinyApp(ui, server)
}See also
Other input.elements: actionButton,
  checkboxGroupInput,
  checkboxInput, dateInput,
  dateRangeInput, numericInput,
  passwordInput, radioButtons,
  selectInput, sliderInput,
  submitButton, textAreaInput,
  textInput