Ниже мой код обработчика загрузки:
output$riskreportpdf <- downloadHandler(
filename = 'Risk Report.zip',
content = function(file) {
src <- normalizePath('report.Rmd')
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'report.Rmd')
fs <- NULL;
All.Risk.Type = as.character(sort(unique(newdata()[,"Risk.Type"])))
for(c in 1:nrow(crit$data)) {
filtered = subset(newdata(),
Risk.Type %in% {if(CRITERIA$Data$Risk.Type[c]=="All"){All.Risk.Type}else{CRITERIA$Data$Risk.Type[c]}}
& Frequency %in% seq(CRITERIA$Data$Frequency[c],5,by=1)
& Severity %in% seq(CRITERIA$Data$Severity[c],5,by=1))
department=CRITERIA$Data$Department[c]
fileName <- paste0("Report_",c, ".html")
render_report(filtered,fileName,src)
fs <- c(fileName, fs)
}
print(fs)
zipr(zipfile=file,files=fs)
},
contentType = "application/zip"
)
и функция render_report
render_report = function(filtered,fileName,src) {
rmarkdown::render(
src,
params = list(table1=filtered),
output_file = fileName,
envir = new.env(parent = globalenv()))
}
, но у меня все еще возникают проблемы с архивированием файлов, и файлы сохраняются в моем рабочем каталоге вместо zip-файла.
Это сообщение об ошибке, которое я получил: Ошибка в zip_internal: некоторые файлы не существуют.
В чем проблема, заранее спасибо