停止';从ifelse语句中执行的downloadHandler`
我正在创建一个应用程序,用户可以下载显示的绘图。我希望用户能够点击下载,ShinyAlert会弹出要求输入文件名 到目前为止,如果我按save键,文件将被下载。但是,当单击Cancel按钮时,shiny会尝试下载页面的HTML,并出现“服务器故障” 我在downloadHandler中放置了一个停止';从ifelse语句中执行的downloadHandler`,r,shiny,R,Shiny,我正在创建一个应用程序,用户可以下载显示的绘图。我希望用户能够点击下载,ShinyAlert会弹出要求输入文件名 到目前为止,如果我按save键,文件将被下载。但是,当单击Cancel按钮时,shiny会尝试下载页面的HTML,并出现“服务器故障” 我在downloadHandler中放置了一个if函数,以便在输入$shinyalert!=FALSEdownloadHandler将执行代码,但我在代码中找不到错误。任何帮助都将不胜感激,谢谢 代码如下: 用户界面: ui在进入下载处理程序之前,检
if
函数,以便在输入$shinyalert!=FALSE
downloadHandler将执行代码,但我在代码中找不到错误。任何帮助都将不胜感激,谢谢
代码如下:
用户界面:
ui在进入下载处理程序之前,检查取消按钮:
库(闪亮)
图书馆(shinyjs)
图书馆(shinyalert)
图书馆(GG2)
游戏打得好
ui <- fluidPage(
useShinyalert(),
plotOutput("vmgraph"),
actionButton("downloadPlot", "Download Plot")
useShinyjs(),
## hide the downloadButton and only display actionButton
conditionalPanel(
"false",
downloadButton("downloadData")
)
)
observeEvent(input$downloadPlot, {
shinyalert("Save as:",
type = "input",
size = "m",
closeOnEsc = TRUE,
closeOnClickOutside = TRUE,
showConfirmButton = TRUE,
showCancelButton = TRUE,
confirmButtonText = "Save",
confirmButtonCol = "#0075B8",
animation = TRUE)
})
output$downloadData <- downloadHandler(
filename = function() {
if (input$shinyalert != FALSE) {
paste(input$shinyalert, ".png", sep = "")}},
content = function(file) {
if (input$shinyalert != FALSE) {
ggsave(file, plot = vmgraph(), width = 12, height = 7.7)
}})
observeEvent(input$shinyalert, {
## Click on the downloadButton when input$shinyalert is updated
shinyjs::runjs("$('#downloadData')[0].click();")
})