假设我有一个闪亮的应用程序,它有一个下载按钮,我要检查如果下载按钮已收到文件,我该怎么办呢? 基本上,如果下载按钮有一个标签download1
,我要检查,如果output$download1
为空。 这基本上是什么,我试图做一个例子。 这是我当前的应用程序的简化版本,我知道,检查是否output$download1
为空是没有必要在我的情况,但我需要它别的,我做的事情。 是不是可行?
这是我的服务器上的文件:
library(shiny)
library(shinyjs)
library(shinyBS)
shinyServer(function(input, output) {
observe({
shinyjs::disable("download1")
if(is.null(input$file1))
return()
# download data
data <- mtcars
output$download1 <- downloadHandler(
filename = function() {
paste("data-", Sys.Date(), ".csv", sep="")
},
content = function(file) {
write.csv(data, file)
}
)
shinyjs::enable("download1")
# Check if download is there
if(!is.null(output$download1)){ # This is what doesn't work
# Do something
}
})
})
和UI文件:
# Define UI for application that draws a histogram
shinyUI(fluidPage(
fileInput("file1", "Upload file1"),
downloadButton("download1"),
helpText("Download after something is done.")
))