Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义html,带有闪亮的“下载数据”按钮_Html_R_Download_Shiny - Fatal编程技术网

自定义html,带有闪亮的“下载数据”按钮

自定义html,带有闪亮的“下载数据”按钮,html,r,download,shiny,Html,R,Download,Shiny,我想知道如何使闪亮的downloadHandler与自定义html UI一起工作 在我的index.html中,我有以下内容: <a id="downloadproject" class="shiny-download-link shiny-bound-output">export</a> 然而,我不能让它工作。我注意到查看演示页面上的源代码:那里的链接指向一个资源: <a id="downloadData" class="btn shiny-download-l

我想知道如何使闪亮的
downloadHandler
与自定义html UI一起工作

在我的
index.html
中,我有以下内容:

<a id="downloadproject" class="shiny-download-link shiny-bound-output">export</a>
然而,我不能让它工作。我注意到查看演示页面上的源代码:那里的链接指向一个资源:

<a id="downloadData" class="btn shiny-download-link shiny-bound-output" href="session/58c63083742fd00d75ac37732eb224bc/download/downloadData?w=299e8cd2e7b56a2507a31ddbe72446fd2ce5d51f5940ea0a" target="_blank">
      <i class="fa fa-download"></i>
      Download
</a>


但是,我想这应该由服务器端的
downloadHandler
设置。然而,我的a标签中根本没有任何href。我想做的事情可能吗?我是不是搞错了?如果您有任何关于如何修复此问题的想法,我们将不胜感激。

我认为A标记正在被一些javascript修改。如果您只是下载了HTML源代码(在iframe包装器中),那么您就看不到长
href

因此,我进一步认为您的自定义HTML UI没有包含调整标记的正确javascript

我认为它是通过在shinny.js的第1402行或大约1402行中下载linkoutputbinding来完成的


这些演示加载了大量的js和css,其中一些显然是至关重要的

我刚刚将您的html和server.R粘贴到测试环境中,它可以正常工作-您仍然有这个问题吗

特别是,你可以省去锚的
href
标签(根据网站上的这篇文章)

此外,您只需要按钮上的
class=“shinny download link
(即不需要
shinny bound output

在大多数情况下,您都希望将可下载的数据从客户端传递到服务器,因此我也将介绍如何做到这一点(感谢)。在服务器上:

output$downloadproject <- downloadHandler(
    filename = function() { 'test.csv' },
    content = function(file) {
        write.csv(input$mydata, file)
    }
)

希望这能有所帮助。

我也在尝试做同样的事情——你有没有找到解决办法?
output$downloadproject <- downloadHandler(
    filename = function() { 'test.csv' },
    content = function(file) {
        write.csv(input$mydata, file)
    }
)
Shiny.onInputChange("mydata", [1,2,3,4,5,6,7]);