2017-10-19 8 views
0

Voici la structure du répertoire:d'insertion dans renderDataTable pour l'application brillante

app.R 
www/Belgium.png 

et le code app.R:

library(shiny) 
    library(DT) 
    library(shinydashboard) 

    ui <- dashboardPage(
     dashboardHeader(), 
     dashboardSidebar(DT::dataTableOutput("test")), 
     dashboardBody() 
    ) 

    server <- shinyServer(function(input, output, session) { 
     dat <- data.frame(
     country = c('China', 'Belgium'), 
     flag = c('<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/200px-Flag_of_the_People%27s_Republic_of_China.svg.png" height="52"></img>', 
       '<img src="Belgium.png" height="52"></img>' 
     ) 
    ) 
     output$test <- DT::renderDataTable({ DT::datatable(dat, escape = F) }) 
    }) 

    app <- shinyApp(ui=ui, server=server) 

    app 

Comme vous pouvez le voir dans le résultat, la première image (drapeau de la Chine pris sur le web) est bien représenté mais la deuxième image (drapeau de la Belgique hébergé sur mon système de fichiers local sous www/) n'est pas montrée. enter image description here

J'ai essayé de comprendre ce qui se passait mais je n'ai pas eu de chance jusqu'à présent ... Pourquoi est-ce que je ne peux pas voir l'image sur mon système de fichiers local?

+0

Selon votre structure initiale, le fichier est dans 'dossier www' – akrun

+0

Oui, je l'ai essayé de le mettre dans le même répertoire racine comme app.R aussi, mais cela n'a pas fonctionné. Tout ce que j'ai vu est de le mettre www/alors c'est ce que j'ai fait ... Etes-vous capable de reproduire le même problème? – ranlot

Répondre

0

En créant un dossier 'www' et en plaçant le 'Belgium.jpg' dans celui-ci fonctionne.

enter image description here

Obtenir la sortie

enter image description here

+0

Eh bien, pas moi ... J'ai essayé à la fois sur MacOS et Ubuntu. Même résultat Peut-il être lié à la façon dont il est exécuté? J'ai essayé d'exécuter le code à la fois depuis RStudio et depuis la ligne de commande Rscript et j'ai quand même obtenu le même résultat. – ranlot

+0

@ranlot J'utilise le RunApp. BTW, c'est dans les fenêtres. J'ai eu le même problème en plaçant la figure dans le même répertoire. Ensuite, j'ai créé le www et cela fonctionne pour moi – akrun

+0

du Rstudio? – ranlot