2017-07-19 88 views
0

对于我的生活,我无法弄清楚发生了什么事情。我想在我的应用程序中包含一个下载按钮(png文件)。我有下面的代码,当我按下下载按钮时,我得到以下弹出“download.htm”。任何人都可以看到那里的错误是:闪亮下载剧情 - 只获取htm文件(无png)

ui.R部分与downloadbutton:曲线图和下载按钮相关

tabPanel("BOOKINGS", 
br(), br(), 
fluidRow(column(12, "BOOKINGS", 
tabsetPanel(
tabPanel("Plot", plotOutput("mcsoPlot")), 
tabPanel("Table", dataTableOutput("BOOKINGS")), 
br(), 
downloadButton(outputId = "down", label = "Download the plot") 

server.R部分:

buildplot <- function(){ 
p <- ggplot(selectedData(), aes(x = MONTH, group = TYPE, color = TYPE)) + 
geom_line(stat = "count", size = 1.5) 
p 
} 

output$down <- downloadHandler(
filename = "Shinyplot.png", 

content = function(file) { 
png(file) # open the png device 
buildplot() 
dev.off() # turn the device off 

} 
) 

如果任何人都可以看到我做错了我会很感激。谢谢。

回答

0

我想通了,想发布答案,因为我没有在其他帖子中跑过这个,有人可能犯了同样的错误。

在ui.R脚本中,downloadbutton脚本不能位于与图相同的fluidRow中。我基本上创建了另一个fluidRow并在那里放置了下载按钮。最后的例子是:

fluidRow(column(12, "BOOKINGS", 
tabsetPanel(
tabPanel("Plot", plotOutput("mcsoPlot")), 
tabPanel("Table", dataTableOutput("BOOKINGS")), 
br(), 
fluidRow(column(12, "", 
downloadButton(outputId = "down", label = "Download the plot"))) 
))))