【问题标题】:R-shiny download button explainedR-shiny 下载按钮说明
【发布时间】:2018-08-18 12:23:15
【问题描述】:

我正在努力解决以下问题。试图更深入地了解 R-shiny 的工作原理。

在创建下载按钮时,R shiny 建议使用以下代码片段:

output$downloadData <- downloadHandler(
  filename = function() {
    paste('data-', Sys.Date(), '.csv', sep='')
  },
  content = function(con) {
    write.csv(data, con)
  }
)

使用名为:filename 的函数创建文件名。并且,内容是使用创建命名内容的函数编写的。

content 函数将 con 作为输入。据我了解,这只是在 content 函数中设置 write.csv 函数的文件名/文件路径参数。

为什么不将文件名(函数)用作输入参数,但为什么这会在内容函数/write.csv 中设置文件名/文件路径参数的路径?

【问题讨论】:

    标签: r download shiny


    【解决方案1】:

    其实downloadHandler的当前文档在示例中使用如下

    content = function(file) {
      write.csv(data, file)
    }
    

    content 参数的文档还提到了文件路径,而不是连接

    内容
    一个函数,它接受一个参数文件,该文件是一个不存在的临时文件的 文件路径(字符串),并将内容写入该文件路径。 (可以从此函数中使用反应性值和函数。)

    filename 和 content 都是函数的原因是它们都可以根据您的应用程序当前所处的状态进行更改。如果您希望内容依赖于用户的输入,您可以使用例如 this .

    content = function(file) {
      write.csv(get_current_data(input$choose_dataset), file)
    }
    

    filename 也是如此

    filename = function() { paste0(input$choose_dataset, ".csv") }
    

    【讨论】:

      猜你喜欢
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2021-06-22
      • 2021-09-25
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      相关资源
      最近更新 更多