【问题标题】:How do I get the R Shiny downloadHandler filename to work?如何让 R Shiny downloadHandler 文件名正常工作?
【发布时间】:2017-11-12 18:50:02
【问题描述】:

我正在设置一个允许用户下载自定义数据集的 Shiny 应用程序。在tutorial 之后,我按照docs 中给出的示例设置downloadHandler(在此转载,因为如果我复制并粘贴它也会发生同样的事情)。

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)

问题:

这个问题只出现在我的 Linux* 系统上,而且似乎在 Mac 上运行良好。下载和一切工作正常,但“保存”GUI 没有为我提供正确的文件名。没有错误消息或警告。根据我的意见,

  • 我希望它能给我data-TIME.csv,即filename 的输入。 (如果我在那个插槽中给它简单的字符串,它也不起作用)。

  • 但它为我提供了 DownloadData 或我为 output 变量命名的任何名称(参见屏幕截图)。

问题:

  • 这是我怀疑的操作系统问题,还是我做错了什么?

  • 我该如何解决这个问题?我可以让它在任何系统上运行吗?

谢谢!

我正在运行基本 OS 0.4 Loki,基于“Ubuntu 16.04.2 LTS”构建,GTK 版本:3.18.9。 & RStudio 1.0.143

【问题讨论】:

    标签: r linux user-interface download shiny


    【解决方案1】:

    如果您使用 Rstudio 浏览器测试您的应用程序,这可能是问题所在。我在 Windows 上也有同样的问题。

    当我使用 Rstudio 浏览器时,文件名没有正确传递,但 如果我使用 Firefox 一切正常。您的代码在我的 Firefox 中也可以正常工作。

    【讨论】:

    • 知道是否可以修复此问题以与 RStudio 浏览器一起使用?
    • 我不确定,但我想修复它的机会不是很高。相反,您可以强制在默认浏览器中打开 Shiny,而不是默认使用 Rstudio 浏览器:See example here
    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 2017-08-23
    • 2020-04-26
    • 2021-09-03
    • 2017-01-12
    • 2020-04-30
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多