我有一个静态PDF文件在我的www文件夹,我想链接到一个UI downloadButton()。看起来服务器端downloadHandler需要填充content选项,这意味着要以React方式生成输出。我知道我可以使用HTML标签链接到静态内容,在UI端使用tags$a('Download file.', href = 'foo.pdf')。关于如何将两者结合在一起的任何建议都将是有益的。
www
downloadButton()
downloadHandler
content
tags$a('Download file.', href = 'foo.pdf')
nqwrtyyt1#
我猜你只是想要一个按钮显示出来?您可以将class = 'btn'添加到锚。下面是一个例子,显示了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) } ) } ))
要添加像shiny函数downloadHandler这样的图标,请参考fontawesome库。例如,这里是shiny函数使用的图标http://fontawesome.io/icon/download/。Shiny有一个 Package 器函数icon来包含这些图标。
shiny
icon
yhxst69z2#
也许这会有所帮助:
content = function(file) { file.copy('www/foo.pdf', file) }
hgtggwj03#
在ui.R和server.R的上下文中:
ui.R
server.R
downloadButton( "statFile", "Download static file" )
output$statFile <- downloadHandler( filename="example.txt", # desired file name on client content=function(con) { file.copy("file_name_on_server", con) } )
3条答案
按热度按时间nqwrtyyt1#
我猜你只是想要一个按钮显示出来?您可以将
class = 'btn'
添加到锚。下面是一个例子,显示了class = 'btn'
和没有。要添加像
shiny
函数downloadHandler
这样的图标,请参考fontawesome库。例如,这里是shiny函数使用的图标http://fontawesome.io/icon/download/。Shiny有一个 Package 器函数icon
来包含这些图标。yhxst69z2#
也许这会有所帮助:
hgtggwj03#
在
ui.R
和server.R
的上下文中:ui.R
server.R