Почему при экспорте файла rmarkdown из приложения R глянцевый имя файла начинается с "_opt_rstudio-connect_mnt_app_"? - PullRequest
0 голосов
/ 25 апреля 2019

Я создал блестящее приложение. Часть приложения позволит пользователям создавать и загружать отчеты на основе 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())
  )
}

)

...