r shiny:允许用户在所需目录中下载闪亮的输出

时间:2018-01-29 21:46:13

标签: r download shiny

在我的Shiny应用程序中,我运行计算,生成数据框,并希望用户能够保存(下载)它。

我在ui.R中的相关代码:

textInput("downFile","Save the File:", value = "Results File"),
downloadButton('downFile',"Save File"),

我在server.R中的相关代码:

output$downFile <- downloadHandler(
  filename = function() {
    paste0(input$downFile, " ", Sys.Date(), ".csv") 
  },
  content = function(file) {
      write.csv(MyMainFunction()$mydataframe, file, row.names = FALSE)
  }
)

一切正常。但我有两个问题:

  1. 如果用户在server.R中的所有计算完成之前错误地点击“保存文件”,则会收到错误(“失败 - 网络错误”)。
  2. 完成所有计算后,当用户点击“保存文件”按钮时,文件会立即保存在“下载”文件夹中。
  3. 两个问题:

    1. 在主函数(MainFunction)中的计算完成之前,是否可以使按钮不可见?

    2. 如何让用户选择所需的文件夹以将结果下载到? (如“保存在......”)

    3. 非常感谢!

1 个答案:

答案 0 :(得分:1)

问题1:使用shinyjs包了解更多https://deanattali.com/shinyjs/

  library(shinyjs)
   disable("downFile") # or use hide() Before all calculations 
   enable("downFile") # or use show() After 

对于问题2:我认为这更多是关于设置浏览器而不是闪亮的

如果您使用的是Chrome,请转到高级设置并启用

enter image description here