如何使用变量contentType实现R-downloadHandler?
根据,downloadHandler应该接受contentType作为字符串。因为contentType不是常量,所以我尝试传递一个变量或被动变量。但只要contentType不是严格意义上的字符串,应用程序就会失败。如何传递变量值 我已经尝试了如何使用变量contentType实现R-downloadHandler?,r,shiny,R,Shiny,根据,downloadHandler应该接受contentType作为字符串。因为contentType不是常量,所以我尝试传递一个变量或被动变量。但只要contentType不是严格意义上的字符串,应用程序就会失败。如何传递变量值 我已经尝试了function(){},reactive,eventReactive。让我困惑的是,它在filename=function(){}上运行得很好 ui <- fluidPage( downloadLink("downloadData", "Do
function(){}
,reactive
,eventReactive
。让我困惑的是,它在filename=function(){}
上运行得很好
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)
},
contentType = function() {
"text/csv"
}
)
}
shinyApp(ui, server)
uiuicontentType
必须是字符串,而不是返回字符串的函数。那么为什么它适用于filename=function()…
?这不是一回事吗?我只是指文档(?downloadHandler
)。查看错误消息,函数是“closure”类型的对象,这表明这就是错误的来源。
ui <- fluidPage(
radioButtons("csvs", label = "Type to download", choices = c(".txt", ".csv"), selected = ".csv"),
downloadLink("downloadData", "Download")
)
server <- function(input, output) {
# Our dataset
data <- mtcars
output$downloadData <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), input$csvs, sep="")
},
content = function(file) {
write.csv(data, file)
}
)
}
shinyApp(ui, server)