интерактивная загрузка файлов на стороне клиента с помощью блестящей панели приложения - PullRequest
1 голос
/ 11 июля 2019

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

Я использую этот пост: Ввод интерактивных каталогов в Shiny app (R)

HОтвет, но для блеска, а не для шинидашборда, вот что я получил:

header <- dashboardHeader()

sidebar <- dashboardSidebar(
  tags$head(tags$script(src="./www/text.js")),
  sidebarUserPanel("Panelado variantes",
               subtitle = a(href = "#", icon("circle", class = "text-success"), "Online"),
               # Image file should be in www/ subdir
               image = "logoGMX-color.jpg"
               # image =  "https://vignette.wikia.nocookie.net/fanfictiondisney/images/9/9e/Pumba_3.j pg/revision/latest?cb=20120708163413"
  ),
  hr(),
  sidebarMenu(
   # Setting id makes input$tabs give the tabName of currently-selected tab
   id = "tabs",
   menuItem("Archivo variantes", tabName = "filelist", icon = icon("table"),
    tags$div(class="form-group shiny-input-container", 
      tags$div(tags$label("File input")),
      tags$div(tags$label("Choose folder", class="btn btn-primary",
        tags$input(id = "fileIn", webkitdirectory = TRUE, type = "file", style="display: none;", onchange="pressed()"))),
      tags$label("No folder choosen", id = "noFile"),
      tags$div(id="fileIn_progress", class="progress progress-striped active shiny-file-input-progress",
       tags$div(class="progress-bar"))     
      )
    )
  )
)

body <- dashboardBody(
  tags$style(type="text/css",
      ".shiny-output-error { visibility: hidden; }",
      ".shiny-output-error:before { visibility: hidden; }",
      ".shiny-output-error:after { visibility: hidden; }"),
  tags$head(HTML("<script type='text/javascript' src='getFolders.js'></script>")),


  #ui
  shinyjs::useShinyjs(),

  tabItems(
    tabItem(tabName="filelist", "lista de archvivos",
      fluidRow(
        column(12,
          DT::dataTableOutput("tabla_files")))
      )
  )
)

ui <- dashboardPage(header, sidebar, body)

server = function(input, output) { 
options(shiny.maxRequestSize=100*1024^2)
        df <- reactive({
                inFiles <- input$fileIn
                print(inFiles)
                print(inFiles$name)
                df <- data.frame()
                if (is.null(inFiles))
                        return(NULL)
                for (i in seq_along(inFiles$datapath)) {
                        tmp <- read.csv(inFiles$datapath[i], header = FALSE)  
                        df <- rbind(df, tmp)
                }
                df

        })
        output$tabla_files <- DT::renderDataTable(
                input$fileIn
        )

       }

   runApp(list(ui = ui, server = server), launch.browser =T)

Я могу открыть диалоговое окно для просмотра файлов, но когда файлы загружены, я не вижу никаких выводов в таблице

Есть идеи?

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