Javascript 在shinny.onInputChange上下载文件
我正在使用Javascript 在shinny.onInputChange上下载文件,javascript,r,download,shiny,Javascript,R,Download,Shiny,我正在使用shinny.onInputChange实现一个下载链接,它将从客户端向服务器发送消息。服务器将使用该消息生成一个新文件,然后提供给用户下载downloadHandler可以创建一个按钮从服务器下载文件,但不能从客户端接收消息 observeEvent可以捕获闪亮的.onInputChange 我的问题是如何在observeEvent中实现下载功能 下面是有关shining.onInputChange的一些示例代码。谢谢你的建议 library(shiny) ui <- shi
shinny.onInputChange
实现一个下载链接,它将从客户端向服务器发送消息。服务器将使用该消息生成一个新文件,然后提供给用户下载downloadHandler
可以创建一个按钮从服务器下载文件,但不能从客户端接收消息
observeEvent
可以捕获闪亮的.onInputChange
我的问题是如何在observeEvent
中实现下载功能
下面是有关shining.onInputChange
的一些示例代码。谢谢你的建议
library(shiny)
ui <- shinyUI(
fluidPage(
HTML('<a href="#" onclick=\'Shiny.onInputChange("i_download", [1,Math.random()]);\'>Download</a>')
)
)
server <- function(input, output, session) {
observeEvent(input$i_download, {
rep(input$i_download[1])
# codes to generate a new file and download it
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
ui我想您可以使用downloadHandler
接收消息。这是否符合您的要求:
library(shiny)
ui <- fluidPage(
downloadLink('down', onclick='Shiny.onInputChange("i_download", [1,Math.random()]);')
# for shiny 0.14.2 or lower use this instead:
# tagAppendAttributes(downloadLink('down'), onclick='Shiny.onInputChange("i_download", [1,Math.random()]);')
)
server <- function(input, output, session) {
output$down <- downloadHandler(
filename = 'down.txt',
content = function(file) {
# use the message (input$i_download) to generate a new file
writeLines(as.character(input$i_download), file)
}
)
}
shinyApp(ui = ui, server = server)
库(闪亮)
ui和,问题是什么?像这样,它不能被复制,因为它导致:未使用的参数(onclick=“shinny.onInputChange(\'i\u download\,[1,Math.random());”
@BigDataScientist我使用的是shinny 1.0.0。它在downloadLink()
和downloadButton
中添加了一个..
参数。哦,我在软件包中没有更新。我知道onclick参数只是不知道下载链接。非常感谢@Yang!