R下载后检测并删除本地文件
是否可以检测用户在单击下载按钮后何时下载文件?我尝试了此操作,但observeEvent不能与输出一起使用?:R下载后检测并删除本地文件,r,shiny,shiny-server,R,Shiny,Shiny Server,是否可以检测用户在单击下载按钮后何时下载文件?我尝试了此操作,但observeEvent不能与输出一起使用?: observeEvent(output$downloadData2, {}) 下载处理程序示例: ui.r: 服务器.r: output$downloadData2 <- downloadHandler( filename <- function() { paste("results.zip") }, content <- function(fi
observeEvent(output$downloadData2, {})
下载处理程序示例:
ui.r:
服务器.r:
output$downloadData2 <- downloadHandler(
filename <- function() {
paste("results.zip")
},
content <- function(file) {
workingdir = getwd()
setwd("tmp/")
file.copy(paste(direc,'.zip',sep=''), file)
setwd(workingdir)
},
contentType = "application/zip"
)
output$downloadData2您应该使用input$downloadData2
@warmoverflow下载处理程序没有注册到input。不起作用。你能澄清一下你想做什么吗?用户单击一个按钮,然后下载一个文件,然后该文件将从服务器上删除?出于好奇,您已经知道了吗?只是遇到了同样的问题。问题是我们似乎无法在通过renderUI函数服务器端创建的按钮上使用observeEvent()。@BogdanRau我想出了一个更好但不同的解决方案。我不是在用户下载文件时删除文件,而是在用户退出浏览器会话时删除临时目录中的所有文件。会话$onSessionEnded(function(){
取消链接(sessiontemp,recursive=TRUE)
}
output$downloadData2 <- downloadHandler(
filename <- function() {
paste("results.zip")
},
content <- function(file) {
workingdir = getwd()
setwd("tmp/")
file.copy(paste(direc,'.zip',sep=''), file)
setwd(workingdir)
},
contentType = "application/zip"
)