【发布时间】: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 文件。