晚上好,
快速提问,与有光泽的应用程序相关,托管在shinyApps.IO上。
我想在我的Dropbox帐户中放置一个HTML文件,并使用includeHTML将其包含在一个闪亮的应用程序中。这样做的主要原因是我有一个本地机器的进程来更新HTML文件(使用knitr生成),如果我可以从shinyApps.IO访问它,我不必每次都上传它已更新。
现在,可以使用以下命令序列读取Dropbox上的RData文件:
load("my_dropbox_credentials.rdata") # assume that file exists
file.InputData <- "https://www.dropbox.com/s/SOMEDROPBOXCODE?dl=0"
data.input <- (GET(url = file.InputData))
load(rawConnection(data.input$content))
这会从Dropbox加载一个RData数据文件,它也适用于shinyApps.IO。
现在,假设我想对HTML文件执行相同的操作,然后使用includeHTML在闪亮的应用程序中显示该文件。有谁知道如何做到这一点?
任何建议都将不胜感激,
菲利普
答案 0 :(得分:3)
这是一个最小的示例,演示了如何将Dropbox html添加到闪亮的应用中。关键点是设置content(request, as="text")
并将矢量渲染为文本。
require(shiny)
require(httr)
request <- GET(url="https://dl.dropboxusercontent.com/s/rb0cnyfiz2fgdaw/hello.html")
dropbox.html <-content(request, as="text")
runApp(
list(
ui = fluidPage(
titlePanel("Dropbox HTML file"),
mainPanel(
htmlOutput("includeHTML")
)
),
server = function(input, output){
output$includeHTML <- renderText({dropbox.html})
}
)
)
分开ui.R和server.R
ui.R
require(shiny)
shinyUI = fluidPage(
titlePanel("Dropbox HTML file"),
mainPanel(
htmlOutput("includeHTML")
)
)
server.R
require(shiny)
require(httr)
request <- GET(url="https://dl.dropboxusercontent.com/s/rb0cnyfiz2fgdaw/hello.html")
dropbox.html <-content(request, as="text")
shinyServer(function(input, output){
output$includeHTML <- renderText({dropbox.html})
})