2016-07-06 42 views
2

Ich möchte, dass mein Logo (eine PNG-Datei) oben links auf dem glänzenden Dashboard angezeigt wird. So habe ich die PNG-Datei hier gehalten:R shiny-server findet mein logo png-Datei nicht, obwohl es Leseberechtigungen gibt

$$:/srv/shiny-server/www$ ll 

total 24 
drwxr-xr-x 2 root root 4096 Jul 7 00:49 ./ 
drwxrwxrwx 3 root root 4096 Jul 7 00:48 ../ 
-rw-rw-r-- 1 root root 14390 Jul 6 23:38 logo.png 

weil meine /etc/shiny-server/shiny-server.conf Datei hat:

# Host the directory of Shiny Apps stored in this directory 
site_dir /srv/shiny-server; 

In meinem MeineAnw/ui.R Code, Ich habe:

shinyUI(

    dashboardPage(
    dashboardHeader(
     title = tags$a(href='http://www.tech.com', tags$img(src="logo.png")), 
... 
) 

Der Name der App ist MyApp und es hat server.R und ui.R.

Wenn ich das ausführen, bekomme ich ein Symbol eines Fragezeichens, das bedeutet, dass es die Datei nicht finden konnte. Was ich nicht bekommen kann ist, wo genau ist glänzend Server auf der Suche nach dieser Datei? Wo soll ich es hinstellen, damit es die Datei lesen kann?

Ich habe die Datei logo.png mit Leseberechtigungen versehen und habe versucht, sie an allen möglichen Stellen zu platzieren (innerhalb/src/shiny-server und auch innerhalb von MyApp, innerhalb oder außerhalb eines www-Ordners, aber alle bis nein) nützen). Mir fehlt natürlich der eigentlich korrekte Ort, der per Konvention festgelegt wurde. Das Problem ist, dass RStudio keine Fehlermeldung an der Konsole gibt, die etwas wie "Konnte Datei nicht finden ... beim Betrachten des Standorts ...." angezeigt hat.

Ich habe versucht, die Dokumentation, aber konnte nicht klar mit einem klaren Beispiel, wo genau diese png-Datei, damit es funktioniert.

I glänzend-Server-Version 1.4.2

> system('shiny-server --version', intern = TRUE) 
[1] "Shiny Server v1.4.2.786" "Node.js v0.10.40"  
> packageVersion("shiny") 
[1] ‘0.13.2’ 

verwende ich werde jede Hilfe in dieser Angelegenheit zu schätzen wissen. Vielen Dank im Voraus.

Antwort

1

Okay, ich entdeckte den Fehler. Es war wahrscheinlich zu spät in der Nacht und ich hatte ein Gehirnfrost. Damit dies funktioniert, sollte sich das Bild in einem Ordner www wie in www/logo.png befinden und dieses www-Verzeichnis sollte in demselben Verzeichnis liegen, das die Dateien server.R und ui.R enthält. Außerdem sollten die Berechtigungen des www-Ordners drwxdrwxr_x und die Berechtigungen der Datei logo.png darin sein. Rwxrwxr__

Es ist tatsächlich so einfach.