【问题标题】:How to download data directory from www directory of shiny如何从闪亮的www目录下载数据目录
【发布时间】:2015-12-15 22:57:27
【问题描述】:

我想向用户提供一个链接,以下载存储在我闪亮应用程序的 WWW 目录中的测试数据文件列表。我尝试了下面显示的东西。

library(shiny)

    # server.R
    server <- function(input, output) {

      output$downloadData <- downloadHandler(
        filename = 'data',
        content = function(fname) {
           testdata
        })

    }

    # ui.R
    ui <- shinyUI(fluidPage(
      titlePanel('Downloading Data'),
      sidebarLayout(
        sidebarPanel(
          downloadLink ('downloadData', 'Download')
        ),
        mainPanel()
      )
    )
    )

    shinyApp(ui = ui, server = server)

但是,它不起作用。怎么办。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    主要问题是如何读取数据?你是怎么得到testdata的?

    例如,如果您的www 中有data.csv

    shinyServer(function(input, output) {
      testdata=read.csv2('www\\data.csv',header = F)
    
      output$downloadData <- downloadHandler(
        filename =function() { 'data.csv'},
    
        content = function(file){
          fname <- paste(file,"csv",sep=".")
          write.csv2(testdata,fname)
          file.rename(fname,file)
        }
    
       )
    
    })
    

    我只在浏览器中工作

    您也可以尝试创建所有文件的 zip(无法测试 zip 在我的 R 上不起作用)

    shinyServer(function(input, output) {
      wd=getwd()
      testdata=c("data.csv","data1.csv")
      testdata_full_path=path.expand(paste0(wd,"\\www\\",testdata))
    
      output$downloadData <- downloadHandler(
        filename = 'data.zip',
        content = function(fname) {
          tmpdir <- tempdir()
         lapply(testdata_full_path,function(i) file.copy(i,tmpdir))
          setwd(tmpdir)
          zip('data.zip',files= testdata)
          setwd(wd)
         unlink(tmpdir)
    
        },
        contentType = "application/zip"
      )
    
    
    
    })
    

    【讨论】:

    • 感谢您的回答。正如我所提到的,我在 www 目录中名称为 testdata 的目录中有一个文件列表。下载完整目录的工作原理。
    • 警告file.copy(i, tmpdir) : problem copying G:\Meta-Analysis\Rshinny\meta-analysis methods\meta-analysis methods\data.csv to C:\Users\Hussain\AppData\Local\Temp\RtmpAZjwCC\data.csv: No such file or directory Warning in file.copy(i, tmpdir) : problem copying G:\Meta-Analysis\Rshinny\meta-analysis methods\meta-analysis methods\data1.csv to C:\Users\Hussain\AppData\Local\Temp\RtmpAZjwCC\data1.csv: No such file or directory Warning: running command '"/usr/bin/zip" -r9X "data.zip" "data.csv" "data1.csv" ' had status 127 Error opening file: 2 Error reading: 6
    • 我忘记了文件路径中的www。你需要在你的wwwforlder中有data.csvdata1.csv
    • 现在这个:Warning: running command '"/usr/bin/zip" -r9X "data.zip" "data.csv" "data1.csv" ' had status 127 Error opening file: 2 Error reading: 6
    • 我也有同样的问题 .... 因为 zip 在我的 R 中不起作用.. 你可以使用没有闪亮的 zip 吗?
    猜你喜欢
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 2021-12-02
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多