downloadHandler {shiny} | R Documentation

## File Downloads

### Description

Allows content from the Shiny application to be made available to the user as file downloads (for example, downloading the currently visible data as a CSV file). Both filename and contents can be calculated dynamically at the time the user initiates the download. Assign the return value to a slot on `output` in your server function, and in the UI use `downloadButton` or `downloadLink` to make the download available.

### Usage

    downloadHandler(filename, content, contentType = NA)

### Arguments

`filename` | A string of the filename, including extension, that the user's web browser should default to when downloading the file; or a function that returns such a string. (Reactive values and functions may be used from this function.)
`content` | A function that takes a single argument `file` that is a file path (string) of a nonexistent temp file, and writes the content to that file path. (Reactive values and functions may be used from this function.)
`contentType` | A string of the download's content type, for example `"text/csv"` or `"image/png"`. If `NULL` or `NA`, the content type will be guessed based on the filename extension, or `application/octet-stream` if the extension is unknown.

### Examples

    ## Not run:
    # In server.R:
    output$downloadData <- downloadHandler(
      filename = function() {
        paste('data-', Sys.Date(), '.csv', sep='')
      },
      content = function(file) {
        write.csv(data, file)
      }
    )

    # In ui.R:
    downloadLink('downloadData', 'Download')

    ## End(Not run)

[Package shiny version 0.13.2 Index]