Ich implementiere einen Download-Link mit Shiny.onInputChange
, die eine Nachricht vom Client zum Server sendet. Der Server wird die Nachricht verwenden, um eine neue Datei zu generieren und anschließend dem Benutzer zum Herunterladen bereitzustellen. downloadHandler
kann eine Schaltfläche erstellen, um eine Datei vom Server herunterzuladen, kann jedoch keine Nachricht vom Client empfangen.Datei herunterladen auf Shiny.onInputChange
Die Shiny.onInputChange
kann von observeEvent
erfasst werden.
Meine Frage ist, wie Sie die Download-Funktion in observeEvent
implementieren.
Im Folgenden finden Sie einige Beispielcodes für Shiny.onInputChange
. Danke für Anregungen.
library(shiny)
ui <- shinyUI(
fluidPage(
HTML('<a href="#" onclick=\'Shiny.onInputChange("i_download", [1,Math.random()]);\'>Download</a>')
)
)
server <- function(input, output, session) {
observeEvent(input$i_download, {
rep(input$i_download[1])
# codes to generate a new file and download it
})
}
shinyApp(ui = ui, server = server)
Und, was ist die Frage? – Jean