R闪亮从本地驱动器上传pdf不起作用

时间:2016-09-07 22:02:57

标签: r pdf shiny

我正在尝试将pdf上传到闪亮。如果pdf文件来自Internet,则以下代码可以正常运行:

library(shiny)
runApp(list(
  ui = fluidPage(
    sidebarLayout(
      sidebarPanel(
        h5("use case - embed a pdf user guide in the app - embed as a local pdf or from web URL")
      ), 
      mainPanel(
        tabsetPanel(
          # using iframe along with tags() within tab to display pdf with scroll, height and width could be adjusted
          tabPanel("Reference", 
              tags$iframe(style="height:800px; width:100%; scrolling=yes", 
                          src="https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf")),
          tabPanel("Summary"),
          tabPanel("Plot")
        )
      ))

  ),
  server = function(input, output,session){}
))

但是,当我尝试上传保存在Desktop中的PDF时,也就是工作目录,我看不到pdf文件。我使用src="example.pdf"替换了网络文件链接。正如其他一些StackOverflow帖子所建议的那样,我将pdf文件保存在名为www的文件夹中,但它仍然无效。 该系统是MacOS X El Capiton和safari浏览器。我不确定这是否有所不同。 非常感谢!

1 个答案:

答案 0 :(得分:4)

您有两种选择。第一个:只需将文件example.pdf放在app文件所在的/ www目录中。第二种:在运行应用程序之前使用addResourcePath函数以使本地目录可访问。

addResourcePath("pdfs", "c:/temp/mypdfs")

稍后将其用作

src="pdfs/example.pdf"