[当我继续在第一个闪亮的仪表板上工作时,我一直在努力完成一项任务。我的保管箱中有一个文件夹(包含数据集),我希望能够从中下载文件,如下所示:
到目前为止,我只需要保存一个部分复制app和not 数据文件的文件(.html)。我尝试了不同的方法(从我在网络上学到的方法),但没有成功。它遵循了我代码的相关部分。谢谢您的帮助!
filenames <- function(){
drop_dir('Partners Files') %>%
pull()
}
# To download a file
selectInput("dataset", "Choose a Dataset", choices = filenames()),
tableOutput("preview"),
downloadButton("download", "Download .csv"),
data_down <- reactive({
req(input$dataset())
})
observeEvent(input$download, {
drop_download(data_down())
})
经过几次尝试和错误尝试后,我可以完成此操作。我对这些东西还很陌生,但这很有趣。如果有人遇到这样的问题,我会发布我的解决方案。
#Downloadable csv of selected dataset
output$downloadData <- downloadHandler(
filename = function() {
paste(input$dataset, sep = "")
},
content = function(file) {
drop_download(paste0("Partners Files/", input$dataset), overwrite = T)
}
)
我想我做的错误之一是试图对输入$数据集使用反应式变量。仍然存在一个问题:我的应用允许用户将文件上传到保管箱;然后我所做的(在此部分)是使该文件可供其他用户下载到其本地计算机。但是,我注意到只有在重新加载应用程序之后,才可以通过select $ Input()(用于下载)选择可用的文件。有没有办法来解决这个问题?我认为这与反应性或ObservEvent事件有关。我希望这对人们有所帮助,并且在其他方面可能会有所帮助。