R:Shiny downloadButton用于静态内容

tch*_*rty 8 r shiny

我的文件www夹中有一个静态PDF文件,我想链接到UI downloadButton().似乎服务器端downloadHandler需要content填充选项,并且用于反应性生成的输出.

我知道我可以tags$a('Download file.', href = 'foo.pdf')在UI端使用HTML标签链接到静态内容.

关于如何将两者放在一起的任何建议都会有所帮助.

jdh*_*son 7

我猜你只想要一个按钮出现?您可以添加class = 'btn'到您的锚点.这是一个显示有class = 'btn'和没有的例子.

library(shiny)
runApp(list(
  ui = bootstrapPage(
    numericInput('n', 'Number of obs', 100),
    plotOutput('plot'),
    tags$a(href = 'foo.pdf', class = "btn", icon("download"), 'Download file.'),
    tags$a('Download file2.', href = 'foo2.pdf'),
    downloadButton('downloadData', 'Download')
  ),
  server = function(input, output) {
    output$plot <- renderPlot({ hist(runif(input$n)) })
    output$downloadData <- downloadHandler(
      filename = function() {
        paste('data-', Sys.Date(), '.csv', sep='')
      },
      content = function(con) {
        write.csv(data, con)
      }
    )

  }
))
Run Code Online (Sandbox Code Playgroud)

要添加类似shiny函数的图标,downloadHandler请参阅fontawesome库.例如,这里是闪亮功能使用的图标http://fontawesome.io/icon/download/.Shiny有一个包装函数icon来包含这些图标.

图片显示btn图标


小智 6

可能会有所帮助:

content = function(file) {
  file.copy('www/foo.pdf', file)
 }
Run Code Online (Sandbox Code Playgroud)