Skip to main content
 首页 » 编程设计

jquery之R Shiny : How do I put local images in shiny tables

2026年07月28日5JeffreyZhao

如果图像存储在我的计算机上,我似乎无法在表格中显示图像。如果图像由 URL 指定,我可以让它工作,但我不知道有什么简单的方法来“提供”图像,以便可以通过 URL 找到它,而不是仅使用图像文件名并放置文件与 ui.R 和 server.R 位于同一目录中(我也尝试将图像放入 R 的主目录中)。 我检查了输出的 HTML,它似乎与 HTML 文档中的 HTML 文档相同,成功地显示了本地计算机上存储的图像。事实上,如果我将 Shiny 的输出 HTML 复制并保存为静态页面,并将图像放在同一目录中,然后在浏览器中打开它,图像就会显示。

我正在使用的 server.R 和 ui.R 脚本粘贴在下面。

有人知道好的解决方法或其他解决方案吗?

感谢您的帮助。

server.R 脚本:

#server.R 
require(shiny) 
shinyServer(function(input, output){ 
    output$mytable <- renderTable({ 
        dat <- data.frame( 
            country = c('USA', 'China','Working directory'), 
            flag = c('<img src="test.png" height="52"></img>', 
                             '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/200px-Flag_of_the_People%27s_Republic_of_China.svg.png" height="52"></img>', 
                             getwd()) 
        ) 
        dat 
    }, sanitize.text.function = function(x) x) 
}) 

ui.R 脚本:

require(shiny) 
 
shinyUI( 
    tableOutput('mytable') 
) 

请您参考如下方法:

您计算机上某个项目的 URL 就是这样的内容,我可以用它来在我的计算机上调出“R 简介”:

 http://127.0.0.1:19812/doc/manual/R-intro.html 

因此,您需要确定放置在 127.0.0.1:19812 和文件名之间的正确目录/路径(并检查您的端口号。)