【问题标题】:R shiny uploading a pdf from local drive does not workR闪亮从本地驱动器上传pdf不起作用
【发布时间】:2017-01-15 17:20:01
【问题描述】:

我正在尝试将 pdf 上传到闪亮。如果pdf文件来自网上,下面的代码效果很好:

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){}
))

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

【问题讨论】:

  • 上传文件并尝试显示的代码在哪里?您应该包含不起作用的代码,以便我们帮助您修复它。
  • 为明确起见,我只将src ="https://cran.r-project.org/doc/manuals/r-release/R-intro.pdf" 替换为src="example.pdf"。其他一切都是一样的。谢谢!
  • 你在哪里上传? src= 相对于客户端,而不是服务器。您需要以某种方式通过您的应用程序“提供”您的 PDF。
  • 我意识到如果我们将上面的代码拆分为 server.R 和 ui.R(参见 [链接]:(gist.github.com/aagarw30/d5aa49864674aaf74951) ),请将 example.pdf 文件放在 www 文件夹中和src="example.pdf" 有效。在本例中,ui.R 和 server.R 是工作目录中的两个文件,位于 www 文件夹中,其中包含 example.pdf 文件。

标签: r pdf shiny


【解决方案1】:

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

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

以后用它

src="pdfs/example.pdf"

【讨论】:

    猜你喜欢
    • 2013-10-28
    • 2017-10-24
    • 2017-10-23
    • 2018-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    相关资源
    最近更新 更多