在 R Shiny 上使用 .zip 功能下载文件在 Mac 上

问题描述

我正在尝试创建一个可以在 MAC 计算机上使用 R Shiny 下载的 .zip 文件夹。该应用程序运行良好,并且 zip() 函数在不在应用程序中时运行良好 - 但是当两者在一起时 zip() 函数停止工作,并且当我单击应用程序中的下载链接时出现以下错误:

[1] "/var/folders/yt/1vghl8k96k73y8pfjnpkdzcsv87dy2/T//RtmpfHjfKp"
Warning: Error in if: argument is of length zero
  [No stack trace available]

这是我的代码

shinyApp(
  ui = navbarPage("Main Title",theme = shinytheme("flatly"),tabPanel("First Tab",sidebarLayout(
                             sidebarPanel(
                               selectInput("sps",...
                                           ),radioButtons("mod",...
                                            ),radioButtons("radioSelection","rang",sliderInput("year",downloadLink('downloadData1','Click here to download data',class = "butt"),tags$head(tags$style(".butt{background-color:lightgray;} .butt{color: black;}"))
                               
                              )
                           )
                  )
  ),server = function(input,output,session) { 
    
    output$downloadData1 <- downloadHandler(
      filename = function() {
        name1 <- sub(" ","",input$sps)  
        if(input$mod == "X") {
          name_part <- "_local-estimator"} else {
            name_part <- "_spatially-smooth"
          }
        paste(input$year,name1,"_",input$rang,name_part,"_ArrivalDate.zip",sep="")
      },content = function(name1) {
        fs <- c()
        tmpdir <- tempdir()
        setwd(tempdir())
        print (tempdir())
        
        arrtab <- arr_csv(input$year,input$sps,input$mod,input$rang)
        write.csv(arrtab,file = "data.csv")
        write.table(read_me1,file = "read_me.txt",row.names = FALSE,col.names = FALSE)
        fs <- c("data.csv","read_me.txt")
        print(fs)
        
        zip(
          zipfile=name1,files=Sys.glob(fs),recurse = TRUE,include_directories = TRUE,root = "."
        )
        
        if(file.exists(name1)) {file.rename(name1,name1)}
      },contentType = "application/zip"
    )
 }
)

我已经检查了此解决方Shiny R Zip multiple PDFS for download 并且无法使其工作。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...