Как установить имя файла по вашему выбору при загрузке файла из блестящего приложения - PullRequest
0 голосов
/ 28 июня 2018

У меня есть простое блестящее приложение, которое загружает файл .txt. Моя проблема в том, что я хочу иметь возможность установить имя файла из приложения и загрузить его, например, как filename.txt, а не как "download_button", как сейчас.

library(shiny)

text=c("Line1", "Line2","Line3")

ui <- fluidPage(

  sidebarPanel(
    h4("Title"),
    p("Subtitle",
      br(),text[1],
      br(),text[2],
      br(),text[3]),

    downloadButton("download_button", label = "Download")
  )
)

server <- function(input, output, session){

  output$download_button <- downloadHandler(
    filename = function(){
      paste("data-", Sys.Date(), ".txt", sep = "")
    },
    content = function(file) {
      writeLines(paste(text, collapse = ", "), file)
      # write.table(paste(text,collapse=", "), file,col.names=FALSE)
    }
  )
}

shinyApp(ui,server)

1 Ответ

0 голосов
/ 28 июня 2018

Надеюсь, это решит вашу проблему. Я просто включил текстовый ввод со значением по умолчанию, установленным на ваше имя файла, как указано выше, а затем установил имя файла в функции загрузки для этого текстового ввода.

text=c("Line1", "Line2","Line3")

ui <- fluidPage(

  sidebarPanel(
    h4("Title"),
    p("Subtitle",
      br(),text[1],
      br(),text[2],
      br(),text[3]),
    textInput("filename", "Input a name for the file", value = paste0("data-", Sys.Date(),".txt")),
    downloadButton("download_button", label = "Download")
  )
)

server <- function(input, output, session){

  output$download_button <- downloadHandler(
    filename = function(){
      input$filename
    },
    content = function(file) {
      writeLines(paste(text, collapse = ", "), file)
    }
  )
}

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