2017-06-11 3 views
3

Ich richte eine Shiny-App ein, mit der der Benutzer einen benutzerdefinierten Datensatz herunterladen kann. Nach dem tutorial, ich die downloadHandler nach dem Beispiel in der docs (hier wiedergegeben, da das gleiche passiert, wenn ich diese kopieren und einfügen) eingerichtet.Wie bekomme ich den R Shiny downloadHandler-Dateinamen zu arbeiten?

ui <- fluidPage(
    downloadLink("downloadData", "Download") 
) 

server <- function(input, output) { 
    # Our dataset 
    data <- mtcars 

    output$downloadData <- downloadHandler(
    filename = function() { 
     paste("data-", Sys.Date(), ".csv", sep="") 
    }, 
    content = function(file) { 
     write.csv(data, file) 
    } 
) 
} 

shinyApp(ui, server) 

Problem:

Dieses Problem kommt nur auf meinem Linux * System und scheint auf einem Mac nur gut zu funktionieren. Der Download und alles funktioniert gut, aber die "Speichern" GUI bietet mir nicht den richtigen Dateinamen. Es gibt keine Fehlermeldung oder Warnung. Basierend auf meinen Input,

  • erwarte ich würde es mir geben Daten-Uhrzeit.csv, das heißt um die Eingabe zu filename. (Es funktioniert auch nicht, wenn ich es einfache Zeichenfolge in diesem Steckplatz gebe).

  • aber es bietet mir DownloadData oder welchen Namen ich auch der output Variable geben (siehe Screenshot).

enter image description here

Frage:

  • Ist das ein OS Problem wie ich vermute, oder mache ich etwas falsch?

  • Wie behebe ich das? Kann ich das auf jedem System zum Laufen bringen?

Vielen Dank!

Ich laufe elementare OS 0.4 Loki, gebaut auf "Ubuntu 16.04.2 LTS", GTK-Version: 3.18.9. & RStudio 1.0.143

Antwort

4

Wenn Sie den Rstudio Browser verwenden, um Ihre App zu testen, könnte dies das Problem sein. Ich habe das gleiche Problem unter Windows.

Wenn ich den Rstudio Browser verwende, wird der Dateiname nicht richtig übergeben, aber Wenn ich Firefox verwende funktioniert alles einwandfrei. Dein Code funktioniert auch gut in meinem Firefox.

+0

Eine Idee, wenn dies für die Verwendung mit RStudio Browser behoben werden kann? – Oliver

+0

Ich bin mir nicht sicher, aber ich denke, die Chance, es zu beheben, ist nicht sehr hoch. Stattdessen können Sie erzwingen, Shiny in Ihrem Standardbrowser zu öffnen und nicht standardmäßig den Rstudio-Browser zu verwenden: [Siehe Beispiel hier] (https://stackoverflow.com/questions/35311318/opening-shiny-app-directly-in-the- Standardbrowser) –