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