我有一个不断更新和覆盖的PDF文件。它保存在Shiny工作目录的www
目录中。问题是更改没有显示在应用程序中。该应用程序仍显示pdf的第一个版本。
我最初在用户界面中拥有所有内容。我在ui.r代码中使用了tags$iframe
,而src直接指向www
目录中的pdf文件。
然后我注意到pdf尚未更新,因此我尝试制作一个操作按钮,当按下该按钮时,它将运行tags$iframe
并显示pdf。这没有解决问题。 pdf文件中的更新仍未显示。
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
h3("Title")
),
mainPanel(
tabsetPanel(
tabPanel("Tab 1",
tags$iframe(style="height:1200px; width:100%; scrolling=yes",
src="PDF1.pdf"))
)
)
)
)
server <- function(input, output,session){
}
shinyApp(ui, server)
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
h3("Title")
),
mainPanel(
tabsetPanel(
tabPanel("Tab1",
sidebarLayout(
sidebarPanel(
actionButton("refresh_1", "Refresh PDF")
),
mainPanel(
uiOutput("Show_PDF1")
)
)
)
)
))
)
server <- function(input, output,session){
observeEvent(input$refresh_1, {
output$Show_PDF1 <- renderUI({
tags$iframe(style="height:1200px; width:100%; scrolling=yes", src="PDF1.pdf")
})
})
}
shinyApp(ui, server)
我将应用托管在非专业版的闪亮服务器上,并使用chrome访问它。要重现该问题,您可以将任何名为PDF1.pdf的pdf文件放入/srv/shiny-server/www
目录中,然后访问该应用程序。然后用另一个pdf文件覆盖PDF1.pdf,然后再次运行该应用程序。您将看到该应用程序仍在显示原始PDF1.pdf文件。