【问题标题】:Displaying image in the top left html using R shiny使用R闪亮在左上角的html中显示图像
【发布时间】:2018-03-13 05:25:54
【问题描述】:

我正在尝试将带有左上角图像的 html 页面合并到 R 闪亮并从 R 工作室调用。问题是当 html 文件运行显示图像时执行 img 命令,但是在 R 中运行时,我只看到一个空白图像空间,但没有显示图像,如下面的快照所示。附件是R中带有快照的html和R代码。请帮忙,谢谢,

HTML 代码

<html>
<head><title>
Dashboard
</title>
<meta name="viewport" content="width=device-width,initial-scale=1,user-
scalable=no">
<header>
<img src="C:/D DRIVE DATA/reliance R/Final Template 
/wireframe/www/pepsi.png" height="43" width="145">
</img></header></head></html>

R 代码

## app.R ##
library(shiny)
library(shinydashboard)
ui= 
dashboardBody(
tags$link(rel="stylesheet", type="text/css",href="bootstrap.css",
htmlTemplate("template.html"
))
)  
server= function(input, output)
{}
shinyApp(ui,server)

【问题讨论】:

  • 在Shiny中运行时,是否更改图像路径?例如。 &lt;img src="pepsi.png" ..&gt;
  • 不用,像上面那样运行R代码。
  • 这很可能是问题所在 - Shiny 不会授予应用访问整个文件系统的权限。

标签: r shiny shinydashboard shinyapps


【解决方案1】:

当您希望允许 Shiny 应用程序允许用户的浏览器访问图像、CSS 等时,这些对象需要位于应用程序的 www 子目录(或www 的进一步子目录)中。

我在文档中没有找到很好的参考资料,但this article on styling Shiny using CSS 很好地涵盖了这个概念。基本上,您需要与app.R 在同一目录中的www 子目录,然后您可以使用相对路径引用该子目录中的文件。

例如,您的应用目录可能包含

app.R
www/

www 可以包含

pepsi.png
some_stylesheet.css
..etc..

然后使用&lt;img src="pepsi.png" ..&gt; 应该可以工作。

【讨论】:

  • 我已经做到了,先生。尽管如此,它仍然没有出现,如果我使用 tags$link 传递它,它会出现在 R 中,但不会出现在特定位置。我想用html把它放在需要的位置。
  • 我刚刚制作了自己的测试用例,它对我有用。您是否将pepsi.png 放在www 文件夹中?请注意,如果您这样做,Shiny 应用程序会看到它,但直接在浏览器中打开 html 则不会,因为它不会在 www 中查找。
  • 嗨,Brian,关于你发布的这个链接,我也有同样的疑问,stackoverflow.com/questions/46532497/…,如果你弄清楚了,也请帮助我。
  • 感谢您的帮助。
猜你喜欢
  • 2021-05-30
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 1970-01-01
  • 2019-07-09
  • 2019-05-20
  • 2017-11-18
  • 2017-11-06
相关资源
最近更新 更多