Shiny downloadHandler不保存PNG文件

时间:2014-07-03 15:17:11

标签: r save shiny

我的下载功能正常,当屏幕另存为时,会显示我指定的文件名。当我点击保存窗口关闭,但没有文件被保存...

相同的情节在应用程序中运行良好,唯一的问题是我似乎无法将其保存为PNG文件。

我在笔记本电脑上运行了闪光应用并使用了RStudio。

以下是我的代码的一些摘录。

ui.R

downloadButton('downloadSMemPlot', 'Download Graph')


server.R

'#draw membersip plot
s.MemPlotInput <- reactive({

'#some code to get data

s.MemPlot <- ggplot() + 
 geom_density(aes(x=Age, fill = Years), data=s.ben, alpha = 0.5) + 
 ggtitle("Density of beneficiary ages") + 
 theme_igray() + 
 theme(plot.title = element_text(lineheight=.8, face="bold")) +
 xlab("Age in full years") + ylab("Density")+
 scale_fill_hue()
})

output$s.memplot <- renderPlot({
  print(s.MemPlotInput())
})

'#download membership plot  
output$downloadSMemPlot <- downloadHandler(
  filename = "MembershipPlot.png",
  content = function(file) {
    png(file, type='cairo')
    print(s.MemPlotInput())
    dev.off()
  },
  contentType = 'application/png'
)

1 个答案:

答案 0 :(得分:2)

你想要

contentType = 'image/png'

不是

contentType = 'application/png'

虽然我不认为这是问题所在。您是在RStudio的预览窗格中还是在外部浏览器中运行它?我在使用预览窗格时遇到了同样的问题,但在我的浏览器上工作正常。