当 运行 在命令中时,包含 HTML 文件的闪亮应用程序不呈现图像
Shiny App that include HTML files doesnt render images when is running in command
为什么 运行在 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
我们可以试试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)
我设法通过 运行 另一个运行 app.R
的脚本修复了它
run.R
shiny :: runApp ('app.R')
命令中:
"R.exe" CMD BATCH "run.R"
为什么 运行在 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
我们可以试试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)
我设法通过 运行 另一个运行 app.R
的脚本修复了它run.R
shiny :: runApp ('app.R')
命令中:
"R.exe" CMD BATCH "run.R"