Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
231 views
in Technique[技术] by (71.8m points)

r - Shiny Rmarkdown html download

In my Rmarkdownfile I want to download my .rmd as a html file but I get the following error.

Warning: Error in file. Cannot open the connection.

I think it's because of the external file included by source(...), but I don't know why. In the external file I make a connection to a db.

---
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
runtime: shiny
---

```{r setup, include=FALSE}
library(flexdashboard)
library(rmarkdown)
source('R/load_data.R')
```

```{r}
output$export_btn<- downloadHandler(
         filename = "report.html",
        content = function(file) {
        tempReport <- file.path(tempdir(), "test.Rmd")
        file.copy("test.Rmd", tempReport, overwrite = TRUE)
        out<-render(tempReport, html_document())
        file.rename(out,file)
     }
    )
```
question from:https://stackoverflow.com/questions/66052182/shiny-rmarkdown-html-download

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You are passing file to your function content = function(file). file is a default R function. Did you mean to pass filename to the function instead?

output$export_btn<- downloadHandler(
         filename = "report.html",
        content = function(filename) {
        tempReport <- file.path(tempdir(), "test.Rmd")
        file.copy("test.Rmd", tempReport, overwrite = TRUE)
        out<-render(tempReport, html_document())
        file.rename(out,filename)
     }
    )

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...