je teste le téléchargement d'un rapport construit avec shiny. J'ai comme exemple celui du site RStudio :
Code : Tout sélectionner
library(shiny)
ui<-shinyUI(fluidPage(
titlePanel("Hello Shiny!"),
sidebarPanel(
downloadButton('downloadReport',label="Download Report")
),
mainPanel(
p("Hello")
)
))
server<-shinyServer(function(input, output) {
output$downloadReport <- downloadHandler(
filename = function() {
paste0('Report_.pdf')
},
content = function(file) {
src <- normalizePath('report.rmd')
owd <- setwd(tempdir())
on.exit(setwd(owd))
file.copy(src, 'report.rmd')
library(rmarkdown)
out <- render('report.rmd',pdf_document())
file.rename(out, file)
}
)
})
shinyApp(ui, server)#Runs the app
L'application se lance bien, mais lorsque je sélectionne "Download Report", après environs 1 minute, une fenètre indiquant l'endroit le dossier où télécharger le document s'ouvre, et j'obtiens le message d'erreur suivant dans une fenêtre :
Code : Tout sélectionner
An error occurred during download:
Error downloading http://127.0.0.1:4018/session/a78dc3bde43d3dcc4820dc3d749b47b9/download/downloadReport?w= - server replied: Internal Server Error
Dans la console j'ai :
Code : Tout sélectionner
Listening on http://127.0.0.1:4018
Warning in normalizePath("report.rmd") :
path[1]="report.rmd": Aucun fichier ou dossier de ce type
Warning in normalizePath(path, winslash = winslash, mustWork = mustWork) :
path[1]="report.rmd": Aucun fichier ou dossier de ce type
Warning: Error in tools::file_path_as_absolute: file 'report.rmd' does not exist
[No stack trace available]
Après des recherches j'avoue rester perplexe, la création d'un fichier report.rmd à plusieurs endroits n'y changeant rien.
Quelqu'un a-t-il un retour d'expérience dans ce domaine ?
Merci bien.
BV
Debian 9, R à jour ou quasi.