2016-09-06 154 views
0

假設我在閃亮的服務器上的文件夾(D:\ shiny)中生成了一些(多個)結果文件(csv,xls,txt等),我怎樣才能 下載(複製)到客戶端計算機? 我的意思是在會話中下載文件而不是數據。 我已經從網上搜索過,大部分解決方案都是讀取文件然後寫入客戶端,是否有可能只是一個一個複製到本地客戶端,並保留文件名? 或者下載一個下載鏈接(要下載的文件的位置)? 是shinyFiles可以做這樣的事情嗎?閃亮:從服務器下載多個本地文件

回答

2

您可以將結果數據文件存儲在閃亮服務器上的http可訪問文件夾中,並在閃亮的應用程序中爲該文件提供一個簡單的下載鏈接。

+0

謝謝,我已經這麼做了。 – earclimate

1

我通常把所有文件一起時生成一個壓縮文件夾時,用戶按下下載按鈕:

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(從命令行ZIP) 。

+0

謝謝,這很有道理。 – earclimate