闪亮的下载文件不起作用

时间:2016-01-29 10:18:06

标签: r download shiny

我正在创建R Shiny应用程序,其中有一个文档列表的下拉列表(selectInput)和一个下载按钮。功能是用户将从列表中选择一个文档,并使用下载按钮下载该文档。

UI.R中的

  tabItem(tabName = "Downloads",
                selectInput("filenames", "Choose a document to download:",list.files(path="/srv/shiny-server/apps/dsw/files")),
  downloadButton('downloadData', 'Download')),
<\ n>在Server.R

        datasetInput <- reactive({
switch(input$filenames,input$filenames)
   })

output$downloadData <- downloadHandler(
filename = function() { 
paste(input$filenames) 
},
content = function(file) {
write.csv(datasetInput(), file)
}
)

我将这些文件放在Linux服务器上的闪亮应用程序的www文件夹中。

MyApp的

--app.R
--files
   -- Doc1.doc
   -- Doc2.csv

当我运行应用程序时,它只会下载空的.csv或.docx文件,但不会从服务器下载实际文件。

1 个答案:

答案 0 :(得分:1)

解决方法如下:

UI.R

 tabItem(tabName = "Downloads",
            selectInput("filenames", "Choose a document to download:",list.files(path="/srv/shiny-server/apps/files")),
 downloadButton('downloadData', 'Download'))

Server.R

output$downloadData <- downloadHandler(
filename = function() {
paste(input$filenames, sep='')
},
content = function(file) {
myfile <- paste0('/srv/shiny-server/apps/files/',input$filenames, collapse = NULL)
  file.copy(myfile, file)
}
)