假设我在闪亮的服务器上的文件夹(D:\ shiny)中生成了一些(多个)结果文件(csv,xls,txt等),我该怎么办? 下载(复制)到客户端计算机? 我的意思是在会话中下载文件而不是数据。 我从互联网上搜索过,大多数解决方案是读取文件然后写入客户端,是否可以一个一个地复制到本地客户端,并保留文件名? 或者提供下载链接(要下载的文件的位置)以供下载? shineFiles可以做这样的事吗?
答案 0 :(得分:2)
您可以将结果数据文件存储在闪亮服务器上的http可访问文件夹中,并在闪亮的应用程序中提供该文件的简单下载链接。
答案 1 :(得分: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(从命令行压缩)。