13
votes

I have an image i'd like to embed into my shiny app, and have read as much as I can find on how to do it. Although, all I get is a blue question mark when I run my code.

This is the line of code I have added, within the fluidPage ui command

img(src="logo.png", align = "right",height='100px',width='400px')

My image has been placed in the project directory folder, as well as trying in a separate folder inside named www (as per suggestion given here)

EDIT: Code used in the following context:

ui <- fluidPage(titlePanel("Test title"),

                img(src="logo.png", align = "right",height='100px',width='400px'),

                hr())
4
I've just checked that adding the code above to e.g. sidebarPanel inside sidebarLayout in fluidPage and placing the image in www/logo.png works just fine. Can you maybe share the code of the particular app which fails for you? Thanks!aoles
I added the line of code inside fluidPage, after titlePanel. I have added a more comprehensive example in the OP.sym246
This seems to work for me, see runGitHub("aoles/SO_38011285"). Maybe you have a typo in the image path, or some other problem with the image file itself?aoles
Possibly. Its a mystery to me since yours works fine, yet mine will not show. The image path should be fine since the directory is set as the R project folder where the .app file is kept. Strange!sym246
I have same issue. No rendering when using img() on the ui side. Using identical path but rendering from the server side works fine.hartmut

4 Answers

21
votes

After coming back to this problem, I found that the solution is to simply format the Shiny code properly, by naming the R file app.R, and clicking Run App as opposed to selecting all of the code and running within the console.

Not sure how or why this makes a difference, but the numerous Shiny applications I have worked on since have all been resolved when doing this.

4
votes

Just a note that may be helpful to someone else, it just happened to me: please double check if your app.R is in the root directory. I.e, app.R is on the same level as the www folder. I know it seems trivial, but if you (as I just did) put app.R into a subfolder and click Run App, the app can still run, just without the pictures.

2
votes

I was having the same problem. To solve this, just create a folder named 'www' in the same folder as your app.R script and put the images within that folder.

I found the solution to this problem in the tutorial video in this page: Shiny Tutorial Video - Adding Static Content Watch from 1h45min00sec.

0
votes

You should check if the name of your R code file is called “app.R" instead of called xxx.R. this error also happened to me