Я очень новичок в 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)