R блестящее приложение (приложение Галерея), которое позволяет пользователю загружать несколько изображений и отображать их динамически (несколько изображений, таких как сетка) - PullRequest
0 голосов
/ 08 мая 2019

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

Я использовал fileInput(), чтобы позволить пользователю загружать изображениев интерфейсеВ разделе сервера я использовал observeEvent() для завершения загрузки и renderUI() для отображения. Но это не работает.Он показывает, что Error:RAW() может применяться только к «сырому», а не к «символу».

ui <- fluidPage
(sidebarLayout(
  sidebarPanel(
    fluidRow( 
      fileInput("myFile", "Choose a file", accept = c('image/png', 'image/jpeg'))
    )
  ),
  mainPanel(
    uiOutput("images")
),
)
)


server <- function(input, output) {
   observeEvent(input$myFile, {
      inFile <- input$myFile
   if (is.null(inFile))
      return()
file.copy(inFile$datapath,file.path("/Users/rohith/Desktop/PROJECTS AND WORK FILES/trial&error/coommoninlist/images", inFile$name) )


})
output$images <- renderUI({

b64 <- list() #to do base64 encoding
for (i in list.files()) {
   name <- paste('image:', i, sep = '')
   tmp <- base64enc::dataURI(file = i, mime = "image/png")
   b64[[name]] <- tmp
 }

 a64 <- list()
 for (j in (1:length(b64))) {
   name_1 <- paste('img:', j, sep = '')
   tmp_1 <- img(src = b64[j],
                width = 250,
                height = 250)
   a64[[name_1]] <- tmp_1
 }
 a64
 # Output list of images
  })
} 
shinyApp(ui = ui, server = server)
...