闪亮的应用程序:downloadHandler不生成文件 [英] Shiny app: downloadHandler does not produce a file

查看:12
本文介绍了闪亮的应用程序:downloadHandler不生成文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不知道是怎么回事-一切似乎都正常,但我的应用程序没有生成文件-尽管它看起来像是生成了文件。 我在Windows的RStudio 0.98.125上运行它,并使用下面的代码行运行它: runApp() 下面是一个非常简单的可重现示例:

我的‘ui.R’:

shinyUI(pageWithSidebar(

  headerPanel("My App"),

  sidebarPanel(
    numericInput('NumRuns','Number of runs',value=3,min=3,max=10,step=1),

    actionButton(inputId="goButton","Run!"),

    textInput("downloadData","Save My Data Frame:",value="Data Frame 1"),
    downloadButton('downloadData','Save my file!')

  ),

  mainPanel(
    tabPanel("Some Text",
             h4(textOutput("caption2")),
             tableOutput("mydf"),
             value=3))
  ))

我的‘server.R’:

shinyServer(function(input,output){

  # Creating files for download at the end

  myout = reactive({
    if(input$goButton==0) return(NULL)

      nrruns=input$NumRuns
      mylist=NULL
      for(i in 1:nrruns){
        mylist[[i]]<-data.frame(a=rnorm(10),b=runif(10))
        names(mylist)[i]<-paste("dataframe",i,sep="")
      }
      return(mylist)
  })

     output$mydf <- renderTable({
     if(input$goButton==0) return(NULL)
     input$goButton
     isolate(
       myout()$dataframe1
     )
   })

  output$downloadData <- downloadHandler(
    filename = function() { paste(input$downloadData, " ",Sys.Date(),".csv",sep="") },
    content = function(file) {
      write.csv(myout()$dataframe1,file,row.names=F)
    }
  )

})

RStudio

注意:"下载"按钮在推荐答案查看器中不起作用。你的 朋友可能正在使用RStudio查看器查看应用程序。如果是这样的话 这种情况下,请在外部Web浏览器中打开应用程序(有 "Run App"按钮右侧的下拉列表:Run in Window, 在查看器窗格中运行,在外部运行;选择最后一个)。

这篇关于闪亮的应用程序:downloadHandler不生成文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆