如何使用SHINY R downloadHandler下载ZIP

时间:2020-06-09 05:13:53

标签: r shiny zip

我们正尝试编写一组空间文件并将其ZIP压缩到一个文件夹中,然后可以使用闪亮的R的下载处理程序进行下载。由于我们的需求需要R的模块,因此我们坚持使用Shiny R在Web上发布它。我们原本希望下载zip文件,但单击下载按钮后会下载一个空的html文件(我们正在Windows10 OS上使用R 4.0.0。,并在Chrome上运行代码)。

我们还研究了R在其中编写shapefile的tempDir,似乎没有问题,只是在压缩和下载文件时才出现问题。我们正在处理的下载处理程序片段是

output$Download <- downloadHandler(
    filename = function(){
      paste("crown_shp", "zip", sep = ".")
    },
    content = function(fname) {
      print(fname)
      tmpdir <- tempdir()
      setwd(tempdir())
      print(tempdir())

      writeOGR(crown, tmpdir, "crown", overwrite_layer = TRUE, driver="ESRI Shapefile")
      #zip_file <- file.path(tmpdir, "crown_shp.zip")
      shp_files <- list.files(tmpdir,
                              "crown",
                              full.names = TRUE)
      zip(zipfile=fname, files=shp_files)
    },
    contentType = "application/zip"
  )

我们在R中得到的警告是' zip警告:名称不匹配'

任何帮助将不胜感激。谢谢!

0 个答案:

没有答案