应用程序未更新标签$ iframe中显示的PDF

时间:2019-07-08 22:39:28

标签: r shiny

我有一个不断更新和覆盖的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文件。

0 个答案:

没有答案