我是Shiny的新手,我已经阅读了很多类似的问题,但是我尝试过的解决方案对我来说并不奏效。 我正在尝试下载多个csv文件(在Shiny应用程序中处理过的数据)并将其压缩。我正在使用downloadHandler来绕过将使用仪表板的同事的各种计算机上的权限/文件夹。 谁能告诉我如何解决这个问题?我不断收到的错误是:
文件警告(file,ifelse(append,“ a”,“ w”)): 无法打开文件“ maldiprocres_ 通用名称 .csv”:没有此类文件或目录 警告:文件错误:无法打开连接
我到处都读到了这可能与Shiny的临时文件夹中的写权限有关。这是真的?如何使写入此临时文件夹成为可能?有关信息,我正在Mac上的R中工作。 我还意识到循环不是最有效的,但是允许在脚本中进行很多检查-处理数据(s是未处理数据的列表)并在需要时打印输出,并且文件名正确,我只是无法下载已处理的csv文件/压缩文件夹。 感谢您的帮助。
#server
datasetInput <- reactive({
switch(input$dtset,
"peaks" = detectedPeaks(),
"centroided" = baselineCorrectedSpectra())
})
output$downloadZip <- downloadHandler(
filename = function(){
paste0("maldiprocresults",".zip")
},
content = function(con){
tmpdir <- tempdir()
setwd(tempdir())
a=getwd()
files <- c()
for (i in 1:length(s)){
x<-as.matrix(datasetInput()[[i]])
y<-metaData(s[[i]])
e<-y$file
z<-gsub((paste(a,"/MALDIquantForeign_uncompress/", sep="")),"",e)
f<-(paste("maldiprocres", z, sep="_" ))
print(f)
if(input$downloadType == ".csv")
write.csv(x,f)
else write.table(x,f)
files<-c(x,files)
}
zip(zipfile=con, files=files)
}
,
contentType = "application/zip"
)