Блестящий downloadHandler не сохраняет файлы PNG

У меня есть функция загрузки, которая делает все правильно, когда появляется экран сохранения как, появляется указанное мной имя файла. Когда я нажимаю на кнопку "Сохранить", окно закрывается, но файл не сохраняется.

Тот же график отлично работает в приложении, единственная проблема в том, что я не могу сохранить его в файл PNG.

Я запускаю приложение shine на своем ноутбуке и использую 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 ответ

Ты хочешь

contentType = 'image/png'

не

contentType = 'application/png'

Хотя я не думаю, что это проблема. Вы запускаете его на панели предварительного просмотра RStudio или во внешнем браузере? У меня была та же проблема с загрузкой при использовании панели предварительного просмотра, но она отлично работала в моем браузере.

Другие вопросы по тегам