无法获得下载处理程序以正确覆盖具有相同名称的文件

时间:2019-04-18 14:19:22

标签: r shiny

在闪亮的应用程序中使用“下载处理程序”时,如果我尝试将33行的数据表下载到csv文件中,则效果很好。如果我然后尝试将代码中的数据表更改为只有两行长,但又想以相同的名称保存文件并覆盖旧文件,则会出现问题。我发现最上面的两行被覆盖,但是旧数据仍然在新的2行之下。它没有增加行数,但也没有减少行数。

我已经尝试过删除现有文件,但是下载处理程序似乎使用了临时文件。我也尝试了write.csv(data,file,append =“ false”),但这也不起作用,可能是出于相同的原因。有没有人想出一个解决方案?下面是有效的可复制代码。

 {

  ui <- fluidPage(
    downloadLink("downloadData", "Download")
  )

  server <- function(input, output) {
    # Our dataset
    data <- mtcars #I change this on my second save to mtcars[3:4,]

    output$downloadData <- downloadHandler(
      filename = function() {
        paste("data-", Sys.Date(), ".csv", sep="")
      },
      content = function(file) {
        write.csv(data, file)

      }
    )
  }

  shinyApp(ui, server)
}

我希望看到的是一个csv文件,该文件的行数与当前表相同,而不管先前的文件大小如何。谢谢您的帮助!

0 个答案:

没有答案