4
我遇到了Shiny中的downloadHandler()
问题:
如果我想通过此功能下载任何文件,下载窗口中的文件名与输出变量(例如:“downloadData”),但不是它在downloadHandler()中的“filename =”中声明的(它应该是“data-2017-02-13.csv”)。downloadButton/downloadHandler无法识别文件名参数
请注意,下面的示例来自downloadHandler() - 帮助页面,所以我猜在R或RStudio中存在一个通用的问题,我在其中编写R脚本。
此外,当我在Web浏览器中打开闪亮的应用程序时,问题消失。
这部分解决了这个问题,但我仍然想知道为什么闪亮在RStudio和Web浏览器中的行为不同。
## 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)
}
它只是在预览或浏览器内?尝试'runApp(shinyApp(ui,server),launch.browser = TRUE)' – BigDataScientist
这是依赖于浏览器。 – Carl
我有同样的问题。我在应用程序中包含了一个下载按钮,并想知道为什么它会使用输出变量的名称。在浏览器中它可以工作。 另一件在RStudio中不起作用的东西是通过downloadHandler中的contentType参数强制输出文件的内容类型。您需要在Chrome中打开该应用程序才能正常工作。也许这两个差异都有类似的原因。 – Calbers