title: Problem when saving plot from reactive inputs in R shiny
body: <p>I want to save plots in my R Shiny app but it doesn't work. I only have an empty file and i don't know how to fix it. This is a basic shiny construction, made step by step by following tutorials, so i think it should be easy for you to understand it.
  Here is my code:</p>
  
  <p>ui.R
  '''</p>
  
  <pre><code>    ui &lt;- navbarPage(
  
             navbarMenu("Times series",
                          tabPanel("Abiotiques",
                                    selectInput("Time_Series", p(strong("Which parameters do you want
                                    to plot as time serie?")), 
                                      choices = list("Temperature", "Salinity", "O2")),
  
                                    selectInput("Station", p(strong("Which station do you want to
                                                                    plot as time serie?")),
                                                choices = list("120","130","215","230","330",
                                                               "700","710","780","ZG02")),
  
  
                                    mainPanel(plotOutput("TS", height = 550),
                                              downloadButton("foo", "Download plot"))) 
  
                       )
  </code></pre>
  
  <p>'''</p>
  
  <p>server.R</p>
  
  <pre><code> shinyServer &lt;-  function(input, output) {
  
  selectDate &lt;- reactive({
   switch(input$Station,
              "120" = filter(s120, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "130" = filter(s130, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "215" = filter(s215, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "230" = filter(s230, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "330" = filter(s330, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "700" = filter(s700, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "710" = filter(s710, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "780" = filter(s780, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]),
              "ZG02" = filter(sZG02, Time &gt;=input$dateRangeTS[1] &amp; Time&lt;=input$dateRangeTS[2]))
  
                        })
  
  output$TS &lt;- renderPlot({ y &lt;- switch(input$Time_Series, "Temperature" = ggplot(data = selectDate(), aes(x = Time, y = Temperature), ) + geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "Temperature") + scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(0, 25),
  
          "Salinity" = ggplot(data = selectDate(), aes(x = Time, y = Salinite), ) +
            geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "SalinitÃ©") +
            scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(27, 37),
  
          "O2" = ggplot(data = selectDate(), aes(x = Time, y = `O2 (mg/L)`), ) +
            geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "O2") +
            scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(NA, 15))
  
            plot(y)
                    })
  
  output$foo &lt;- downloadHandler(
   filename = function() {
   paste("test", "png", sep=".")
  
   },
  
   content = function(file) {
  
   if(input$Time_Series == "Temperature")
     png(file)
     print(ggplot(data = selectDate(), aes(x = Time, y = Temperature), ) +
     geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "Temperature") +
     scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(0, 25))
  
  
   if(input$Time_Series == "Salinity")
     png(file)
     print(ggplot(data = selectDate(), aes(x = Time, y = Salinite), ) +
       geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "SalinitÃ©") +
       scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(27, 37))
  
   if(input$Time_Series == "O2")
     png(file)
     print(ggplot(data = selectDate(), aes(x = Time, y = `O2 (mg/L)`), ) +
       geom_point(color = "#00AFBB", size = 2) + labs(x = "Time", y = "O2") +
       scale_x_date(labels = date_format("%Y-%m-%d")) + ylim(NA, 15))
  
   dev.off()
  
     }
    )
    }
  </code></pre>
  
  <p>Thanks a lot for your help!</p>