Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用base64编码(不带downloadHandler)以shiny格式下载文件_R_Download_Shiny_Base64_Uri - Fatal编程技术网

使用base64编码(不带downloadHandler)以shiny格式下载文件

使用base64编码(不带downloadHandler)以shiny格式下载文件,r,download,shiny,base64,uri,R,Download,Shiny,Base64,Uri,我有一个闪亮的应用程序,包括以下主要部分: ui.R actionButton("go", "Go") tags$a("download") observe({ if(input$go==1){ [... stuff generating a pdf file myfile.pdf ...] base64_pdf <- base64enc::dataURI(file="myfile.pdf", mime="application/pdf") updateAct

我有一个闪亮的应用程序,包括以下主要部分:

ui.R

actionButton("go", "Go")
tags$a("download")
observe({
  if(input$go==1){
    [... stuff generating a pdf file myfile.pdf ...]
    base64_pdf <- base64enc::dataURI(file="myfile.pdf", mime="application/pdf")
    updateActionButton(session, "go", "Download PDF")
    shinyjs::runjs(sprintf('$("#download").attr("href", "%s").attr("download", "myfile.pdf")', base64_pdf))
  }
  if(input$go==2){
    shinyjs::runjs('$("#download")[0].click()')
  }
})
server.R

actionButton("go", "Go")
tags$a("download")
observe({
  if(input$go==1){
    [... stuff generating a pdf file myfile.pdf ...]
    base64_pdf <- base64enc::dataURI(file="myfile.pdf", mime="application/pdf")
    updateActionButton(session, "go", "Download PDF")
    shinyjs::runjs(sprintf('$("#download").attr("href", "%s").attr("download", "myfile.pdf")', base64_pdf))
  }
  if(input$go==2){
    shinyjs::runjs('$("#download")[0].click()')
  }
})
观察({
如果(输入$go==1){
[…生成pdf文件myfile.pdf的东西…]

base64_pdf Hmmm…最后,还有一种更简单、更好的方法,它不需要base64编码,方法是复制
www
文件夹中的文件或另一个设置了
addResourcePath
的资源文件夹。