【问题标题】:shiny: download multiple local files from server闪亮:从服务器下载多个本地文件
【发布时间】:2017-01-13 08:11:58
【问题描述】:

假设我在闪亮服务器上的文件夹(D:\shiny)中生成了一些(多个)结果文件(csv、xls、txt 等),我该怎么做 下载(复制)到客户端计算机? 我的意思是下载文件而不是会话中的数据。 我从网上搜索过,大部分解决方案都是读取文件然后写入客户端,是否可以一一复制到本地客户端,并保留文件名? 或提供下载链接(要下载的文件的位置)以供下载? shinyFiles 可以做这样的事情吗?

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    我通常将所有文件放在一个 zip 文件夹中,该文件夹会在用户按下下载按钮时创建:

    output$DownloadZip <- downloadHandler(
      filename = function(){
        paste("Results","zip",sep=".")
      },
      content = function(con){
        tmpdir <- tempdir()
        setwd(tempdir())
        filesToSave <- c() #List to hold paths to your files in shiny
    
        #Put all file paths inside filesToSave...
    
        zip(zipfile=con, files = filesToSave)
      },
      contentType = "application/zip"
    )
    

    您需要为 Windows 7 及更低版本安装 RTools(从命令行压缩)。

    【讨论】:

      【解决方案2】:

      您可以将结果数据文件存储在闪亮服务器上的 http 可访问文件夹中,并在闪亮应用中提供指向该文件的简单下载链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-14
        • 2017-07-26
        • 1970-01-01
        • 2018-06-18
        • 2020-01-26
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多