【发布时间】:2017-08-23 02:15:43
【问题描述】:
在每次点击下载按钮后,如何在闪亮的 downloadHandler 中更新filename 的值?我尝试使用 Sys.time 构造一个唯一的文件名。唉,Sys.time() 似乎只在 Shiny 应用程序打开时执行一次。因此,再次尝试下载文件不会给出新的文件名,它只是在文件名的末尾给出 [1]。
下面的最小可重现示例:
library(shiny)
if (interactive()) {
ui <- fluidPage(
downloadButton("downloadData", "Download")
)
server <- function(input, output) {
# Our dataset
data <- mtcars
output$downloadData <- downloadHandler(
filename = paste("example",gsub(":","-",Sys.time()), ".csv", sep=""),
content = function(file) {
write.csv(mtcars,file)
}
)
}
runApp(list(ui=ui,server=server),launch.browser=T)
}
确保您尝试在同一实例中再次下载该文件,并检查文件上的名称。
【问题讨论】: