【发布时间】:2016-12-29 06:15:21
【问题描述】:
我的“下载”按钮无法按预期工作。每次我点击它都会打开一个新的应用程序窗口。我想知道为什么它会以这种方式运行?
server.R中的下载功能:
output$down_load <- downloadHandler(
# specify the file name
filename = function() {
paste('cls_result_export', Sys.Data(),'.csv', sep='')
},
# Write the plot back
content = function(file){
write.csv(cls_output()$raw_data, file)
}
)
ui.R中的下载功能:
downloadButton(outputId = "down_load", label = "Download the CLS Raw Data")
【问题讨论】:
-
@user5249203 嗯,即使我改用“cls_result_export.csv”,它仍然会打开新窗口。 ;( 另外,cls_output() 是一个响应式对象,它返回多个对象。使用“cls_output()$raw_data”从“cls_output()”获取“raw_data”对象应该是可以的。
-
那么您的期望是什么?我认为该窗口应该打开,以便用户有机会重命名它。尽管它在浏览器和 R-Studio 查看器中的行为似乎有所不同,但它并没有为我在 Chrome 浏览器中打开一个窗口。如果你不想要一个窗口,你可以使用一个操作按钮来保存它。
-
@MikeWise 感谢您使用“操作按钮”的建议!我会试一试。我当前的“下载”按钮只是为同一应用程序的新会话打开一个新窗口,并且在此过程中没有执行下载。我不介意它是否只是打开一个新窗口进行下载.. :(跨度>
-
Chrome 和 RStuio 查看器中的不同行为让我认为该功能有缺陷且指定不明确(因为文档没有透露它实际上应该做什么)。
-
@MikeWise 是的,我明白了。知道了。就我而言,由于我必须使用反应对象的结果,因此我将只使用带有 write.csv() 的操作按钮。感谢您的帮助!:)
标签: r shiny shinydashboard