如何加载在保存到 www 目录的闪亮服务器中创建的新 PNG 文件?

How do I load new PNG files created in a Shiny server saved to www directory?

我正在将在一个 eventReactive 中创建的 PNG 文件保存到我的 ShinyApp 的 www 目录中。另一个 eventReactive 能够读取这些 PNG 输出。

然而,当我重新运行第一个 eventReactive 时,尽管它在 www 目录中创建了新文件,第二个 eventReactive 会忽略新输入并继续显示初始 PNG 文件。

在不重新启动整个应用程序的情况下为 Shiny 指向 www 目录中的新文件有什么诀窍?

到目前为止我已经尝试过的(在两个反应函数中):

非常感谢任何帮助或建议。谢谢

我想我明白了(好吧,在更有经验的同事的帮助下):

PNG 文件正在创建并从 Shiny 服务器写入,URL 可以正常创建更新的 PNG 文件,无需更改。

但是,我们可以通过向 PNG 添加系统时间查询来欺骗服务器将新的 PNG 集视为唯一并重新加载它们(即使它们来自相同的 URL)我们从 Shiny 读取的 URI。例如:

## Write out the PNG file(s) like this:
ggsave(paste0(outPath, "/www/plot_1.png"),p, width = 20, height = 20, units = "in")

## Reading in the PNG file:
#    This one is not going to work:
~image = paste0(outPath, "/www/plot_1.png")~
#    This one correctly refreshes as an old PNG is replaced:
image = paste0(path_to_images, "/www/plot_1.png?t=", Sys.time())

此操作的神奇之处在于,查询将被应用程序忽略,但会被 server/browser(重新加载)适当处理!