下载文件闪亮

时间:2017-07-06 12:31:31

标签: r shiny

我希望用户下载一个表格格式的文件,其中包含标题以及顶部的两个搜索小部件。输出是预测值以及80%(高 - 低)和95%(高 - 低)置信区间。因此有五列,五行(默认)。但是,我在这里面临两个挑战。

挑战1: 当我运行应用程序时,点击“下载文件”后,文件名将作为下载数据而没有扩展名,而我提到的文件名应该用png扩展名“预测”,它应该是forecated.png

挑战2:在保存文件时输入png作为扩展名后,文件将被保存,但不会打印任何内容。

我在各种论坛中搜索并尝试复制它们但似乎没有任何工作。

请建议。

闪亮的用户界面

library(shiny)    
downloadButton(outputId = "downloaddata" ,label ="Download the file"),

闪亮的服务器

output$downloaddata<-downloadHandler(

    filename = function(){
      paste("forecasted","png",sep=",")
    },
    content = function(file){
      png(file)
      h <-input$fst
      tab<-forecast(Model_mape(),h) 
      datatable(as.data.frame(tab), options = list(
         columnDefs = list(list(targets = c(1, 3), searchable = FALSE)),
         pageLength = 10))
      dev.off()

    }

  )

1 个答案:

答案 0 :(得分:0)

也许它可以帮到你(这是一个简单的例子):

Ui:

library(shiny)

shinyUI(fluidPage(

  mainPanel(plotOutput("plot1"),
           downloadButton("downloadplot","Download your plot"))

  ))

服务器:

library(shiny)

shinyServer(function(input, output) {
  your_plot = function(){
    (plot(rnorm(1000,0,1)))
  }


  output$plot1 <- renderPlot({
    your_plot()
  })

  output$downloadplot <- downloadHandler(
    filename = "plot_exemple.png",
    content = function(file) {
      png(file, width = 1200, height = 800)
      print(your_plot())
      dev.off()
    })

  })

有了这个,你可以轻松下载一个png(在浏览器中打开它)。