包含 HTML 文件的闪亮应用程序在命令中运行时不会呈现图像
Posted
技术标签:
【中文标题】包含 HTML 文件的闪亮应用程序在命令中运行时不会呈现图像【英文标题】:Shiny App that include HTML files doesnt render images when is running in command 【发布时间】:2022-01-22 06:17:30 【问题描述】:为什么在r studio中运行一个闪亮的应用程序会显示所有由html添加的图像,而批量运行时却没有?
例如,我有一个简单的应用程序,它调用一个包含 2 个图像的 html 文件,在 r studio 中,该应用程序看起来很完美,但是在命令中它不起作用。
它不会显示任何类型的错误或警告,就像它无法识别图像一样。
如何纠正?
app.R
library(shiny)
ui <- tagList(
includeHTML("www/htmlFile.html")
)
server <- function(input, output, session)
shinyApp(ui, server)
htmlFile.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>page1</title>
</head>
<body>
<h3>Hello world!!</h3>
<img src="img1.jpg"/>
<img src="img2.jpg"/>
</body>
</html>
所以我从命令行运行闪亮的应用程序:
R.exe CMD BATCH app.R
【问题讨论】:
“批量运行”是什么意思? 我的意思是使用 -- R.exe CMD BATCH 脚本运行脚本。命令中的 R。 (不知道是不是正确的说法,请见谅) 【参考方案1】:我们可以试试renderImage
。这是一个例子:
# download some images and save them in the project directory
download.file("https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/R_logo.svg/1200px-R_logo.svg.png", destfile = "r.png")
download.file("https://pngset.com/images/r-logo-r-programming-language-logo-text-building-alphabet-dryer-transparent-png-2749164.png", destfile = "r2.png")
library(shiny)
ui <- fluidPage(
withTags(
head(meta(`http-equiv` = "content-type", content = "text/html; charset=utf-8", title("page1")))
),
h3("Hello World!!"),
imageOutput("img1"),
imageOutput("img2")
)
server <- function(input, output, session)
output$img1 <- renderImage(
list(
src = "r.png",
width = 250,
hight = 250
)
, deleteFile = TRUE)
output$img2 <- renderImage(
list(
src = "r2.png",
width = 250,
hight = 250
)
, deleteFile = TRUE)
shinyApp(ui, server)
【讨论】:
非常感谢您的回答。但是,这不是我正在寻找的解决方案,我需要获取 html 文件,因为它包含特定格式,而不仅仅是图像。 图像位于 www 文件夹中?另一种选择是将图像托管在某些云服务中并从互联网上检索它们。 标签对本地文件不是很友好,至少在闪亮时是这样。 好的,谢谢!我在下面发布了我的解决方案【参考方案2】:我设法通过运行另一个运行 app.R 的脚本来修复它
运行.R
shiny :: runApp ('app.R')
在命令中:
"R.exe" CMD BATCH "run.R"
【讨论】:
以上是关于包含 HTML 文件的闪亮应用程序在命令中运行时不会呈现图像的主要内容,如果未能解决你的问题,请参考以下文章
如果在循环中包含PHP中的文件,它每次在循环中运行时都会访问该文件吗?