闪亮的下载处理程序不工作
Shiny downloadHandler not working
我有一个 Shiny downloadHandler
在server.R:
output$DownloadButton <- downloadHandler(
filename = function() {
paste("test", Sys.Date(), ".csv",sep="")
},
content = function(con) {
print("in download")
print(con) # this prints C:\Users\me\Local\Temp\RtmpI1EjY7\file668338e4c33
Data<-ReactiveGetData()$Data #Here I get the data I want to download
print(head(Data)) #This prints out the data with no errors
write.csv(Data, con)
}
)
这里是ui.r:
sidebarPanel(
downloadButton("DownloadButton", label = "Download",class = NULL), ....
到目前为止它打印了临时文件:
C:\Users\me\Local\Temp\RtmpI1EjY7\file668338e4c33
但是当我手动转到这条路径时,我收到一条错误消息 "File not found"
然后当我点击下载按钮时,我没有收到错误消息,也没有任何反应。
知道为什么似乎没有创建临时文件吗?
临时文件应该以 csv 结尾吗?
这里有一个更简单的例子,如果你 运行 server.r 和 ui.r 文件,你可以 运行。我无法下载以下文件:
下面不存在 "file" 对象,不知道为什么?
ui.r
library(shiny)
shinyUI(fluidPage(
sidebarPanel(
downloadButton("Download", label = "Download",class = NULL)
),
mainPanel(
tabsetPanel(
tabPanel("test",
h3("test")
)
)
)
))
server.r
library(rJava)
shinyServer(function(input, output, session) {
output$Download <- downloadHandler(
filename = function() {
paste("test.csv",sep="")
},
content = function(file) {
print("in download")
print(file) #this file does not exist ???
Data<- data.frame(name= c(1,2,3,4))
print(head(Data))
write.csv(Data, file)
}
)
})#end of server function
您可以通过以下方式运行:
library(rJava)
library(shiny)
runApp("C://Users//me//pathToShinyProjectFolder")
解决方案:单击左上角的 "open in browser" 和用户 CHROME 或 FIREFOX 作为默认浏览器。
尝试在其他浏览器中打开该应用程序。并非所有浏览器都是平等创建的。这可以通过在您选择的另一个浏览器中简单地键入以下内容来完成。
localhost:5586
请注意,您的端口号可能有所不同。
我有一个 Shiny downloadHandler
在server.R:
output$DownloadButton <- downloadHandler(
filename = function() {
paste("test", Sys.Date(), ".csv",sep="")
},
content = function(con) {
print("in download")
print(con) # this prints C:\Users\me\Local\Temp\RtmpI1EjY7\file668338e4c33
Data<-ReactiveGetData()$Data #Here I get the data I want to download
print(head(Data)) #This prints out the data with no errors
write.csv(Data, con)
}
)
这里是ui.r:
sidebarPanel(
downloadButton("DownloadButton", label = "Download",class = NULL), ....
到目前为止它打印了临时文件:
C:\Users\me\Local\Temp\RtmpI1EjY7\file668338e4c33
但是当我手动转到这条路径时,我收到一条错误消息 "File not found"
然后当我点击下载按钮时,我没有收到错误消息,也没有任何反应。
知道为什么似乎没有创建临时文件吗?
临时文件应该以 csv 结尾吗?
这里有一个更简单的例子,如果你 运行 server.r 和 ui.r 文件,你可以 运行。我无法下载以下文件:
下面不存在 "file" 对象,不知道为什么?
ui.r
library(shiny)
shinyUI(fluidPage(
sidebarPanel(
downloadButton("Download", label = "Download",class = NULL)
),
mainPanel(
tabsetPanel(
tabPanel("test",
h3("test")
)
)
)
))
server.r
library(rJava)
shinyServer(function(input, output, session) {
output$Download <- downloadHandler(
filename = function() {
paste("test.csv",sep="")
},
content = function(file) {
print("in download")
print(file) #this file does not exist ???
Data<- data.frame(name= c(1,2,3,4))
print(head(Data))
write.csv(Data, file)
}
)
})#end of server function
您可以通过以下方式运行:
library(rJava)
library(shiny)
runApp("C://Users//me//pathToShinyProjectFolder")
解决方案:单击左上角的 "open in browser" 和用户 CHROME 或 FIREFOX 作为默认浏览器。
尝试在其他浏览器中打开该应用程序。并非所有浏览器都是平等创建的。这可以通过在您选择的另一个浏览器中简单地键入以下内容来完成。
localhost:5586
请注意,您的端口号可能有所不同。