downloadHandler
downloadHandler(filename, content, contentType = NA,
outputArgs = list())
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. |
outputArgs | A list of arguments to be passed through to the implicit
call to downloadButton when downloadHandler is used
in an interactive R Markdown document. |
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.
Examples
## Only run examples in interactive R sessions
if (interactive()) {
ui <- fluidPage(
downloadLink("downloadData", "Download")
)
server <- function(input, output) {
# Our dataset
data <- mtcars
output$downloadData <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), ".csv", sep="")
},
content = function(file) {
write.csv(data, file)
}
)
}
shinyApp(ui, server)
}