servidores para r shiny dropbox shinyapps

para - Cargando archivo de imagen de Dropbox en la aplicación R Shiny



dropbox para servidores (1)

Debe llamar a su función reactiva dentro de renderImage. Algo similar al siguiente código funcionó en una de mis aplicaciones brillantes.

library(shiny) library(rdrop2) token <- readRDS("droptoken.rds") drop_acc(dtoken = token) shinyServer(function(input, output) { myImage <- reactive({ drop_get(paste(input$figure, ''.jpg'', sep = '''')) }) output$image <- renderImage({ myImage() filename <- paste(input$figure, ''.jpg'', sep='''') list(src = filename, alt = paste("Image name:", input$figure)) }, deleteFile = FALSE) })

EDITAR: Alternativamente, podría poner el código drop_get en renderImage.

library(shiny) library(rdrop2) token <- readRDS("droptoken.rds") drop_acc(dtoken = token) shinyServer(function(input, output) { output$image <- renderImage({ drop_get(paste(input$figure, ''.jpg'', sep = '''')) filename <- paste(input$figure, ''.jpg'', sep='''') list(src = filename, alt = paste("Image name:", input$figure)) }, deleteFile = FALSE) })

Estoy tratando de hacer una aplicación brillante muy simple que le permita al usuario elegir un archivo de imagen de un menú desplegable y luego el elegido será cargado desde Dropbox y se mostrará en la brillante aplicación. Estoy usando la función drop_get del paquete rdrop2 como se describe aquí: https://github.com/karthik/rdrop2 . Lamentablemente, parece que el archivo no está cargado, sin embargo, transcurren algunos segundos antes de que se muestre el texto alternativo para que algo esté sucediendo en segundo plano (sin mensaje de error ni advertencia en la consola). Mi configuración de token y dropbox debería funcionar, porque si lo intento fuera de la aplicación brillante, carga el archivo perfectamente.

Disculpa que el código no sea 100% reproducible ya que el token incluye mis detalles personales de autenticación de Dropbox ...

ui.R

library(shiny) shinyUI(fluidPage( titlePanel("My app"), sidebarLayout( sidebarPanel( selectInput("figure", "Choose figure", choices = list("file1","file2"), selected = "file1") ), mainPanel( imageOutput("image") ) ) ))

servidor.R

library(shiny) library(rdrop2) token <- readRDS("droptoken.rds") drop_acc(dtoken = token) shinyServer(function(input, output) { reactive({ drop_get(paste(input$figure, ''.jpg'', sep = '''')) }) output$image <- renderImage({ filename <- paste(input$figure, ''.jpg'', sep='''') list(src = filename, alt = paste("Image name:", input$figure)) }, deleteFile = FALSE) })