Как загрузить файлы .csv из Dropbox через downloadButton () в shinydasboard? - PullRequest
0 голосов
/ 27 мая 2020

Продолжая работать над своей первой блестящей приборной панелью, я боролся с задачей. У меня есть папка (с наборами данных) в моем Dropbox, и я хочу иметь возможность загружать из нее файл следующим образом:

  1. пользователь выбирает файл через selectInput ()
  2. затем он / она нажимает кнопку downloadButton (), чтобы сохранить файл на локальном компьютере.

Пока мне удалось сохранить только файл (. html), который частично воспроизводит приложение и не файл данных . Я пробовал разные подходы (из того, что я узнал в Интернете), но безуспешно. Он следует за соответствующими частями моего кода. Спасибо за любую помощь!

Global

Получить имена файлов из папки в Dropbox

filenames <- function(){
 drop_dir('Partners Files') %>%
 pull()
}

UI кусок

# To download  a file 

selectInput("dataset", "Choose a Dataset", choices = filenames()),
tableOutput("preview"),
downloadButton("download", "Download .csv"),

Серверный кусок

Чтобы загрузить файл

data_down <- reactive({
    req(input$dataset())
  })

При нажатии кнопки Загрузить файл сохраняются данные

observeEvent(input$download, {
    drop_download(data_down())
  })        

1 Ответ

0 голосов
/ 05 июня 2020

После нескольких попыток проб и ошибок я смог это сделать. Я новичок в этом, но это было довольно весело. Я публикую свое решение, если кто-то еще столкнется с подобной проблемой. реактивная переменная для входного набора данных $. Остается одна проблема: мое приложение позволяет пользователям загружать файл в Dropbox; то что я сделал (в этой части здесь), так это сделал этот файл доступным для других пользователей, чтобы они могли загрузить его на свою локальную машину. Однако я заметил, что выбор файлов, доступных через select $ Input () (для загрузки), становится доступным только после перезагрузки приложения. Есть способ исправить это? Я думаю, что это связано с реактивным или наблюдаемым элементом. Я надеюсь, что это поможет людям, и я могу получить некоторую помощь с этим другим произведением.

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