Я создал блестящее приложение. Часть приложения позволит пользователям создавать и загружать отчеты на основе HTML, используя rmarkdown. Это отлично работает.
На моем локальном компьютере имя файла html нормальное. Но при развертывании на блестящем сервере имя файла всегда начинается с
_opt_rstudio-connect_mnt_app_
Так выглядит
_opt_rstudio-connect_mnt_app_STUFFTHATIWANT.html
Я не могу понять, почему. Кто-нибудь еще испытывал это?
Я использую downloadHandler
Мой код такой:
output$report <- downloadHandler(
# For PDF output, change this to "report.pdf"
#filename = paste("Sample.line.report", ".html", sep = ""),
#print(paste("This is ", report.name.title())),
if (!is.null(report.name.title())) {
print(c("Report Title"))
},
#filename = paste(report.name.title(), ".html", sep = ""),
filename = function() {
paste(getwd(),
paste(
paste(
input[[paste0(paste(iwerquerycol[1], ".interviewer.report.name", sep =
""))]],
Sys.Date(),
report.name.title(),
report.name.author(),
sep = "_"),
".html", sep = ""),
sep = "/")
},
content = function(file) {
# Copy the report file to a temporary directory before processing it, in
# case we don't have write permissions to the current working dir (which
# can happen when deployed).
tempReport <- file.path(tempdir(), "report.Rmd")
file.copy("report.Rmd", tempReport, overwrite = FALSE)
# Set up parameters to pass to Rmd document
params <- list(
samples_data = samples.data(),
radius.quants = radius.quants(),
icon.interviewer = icon.interviewer,
interviewer_data = interviewers.data(),
airports = airports,
nams.sample.table = nams.sample.table,
report.title = input$report.title,
report.author = input$report.author,
report.interviewer.name = input[[paste(iwerquerycol[1], ".interviewer.report.name", sep =
"")]],
greenLeafIcon = greenLeafIcon,
sample.table.column.names = sample.table.column.names
)
# Knit the document, passing in the `params` list, and eval it in a
# child of the global environment (this isolates the code in the document
# from the code in this app).
rmarkdown::render(
tempReport,
output_file = file,
params = params,
#map = ,
envir = new.env(parent = globalenv())
)
}
)