Невозможно получить Обработчик загрузок для правильной перезаписи файлов с одинаковыми именами - PullRequest
1 голос
/ 18 апреля 2019

При использовании Download Handler в блестящем приложении, если я пытаюсь загрузить таблицу данных с 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-файл с тем же числом строк, что и у текущей таблицы, независимо от размера предыдущего файла. Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...