部署时使用 unzip() 在 R Shiny 中解压缩文件失败
Unzipping a file in R Shiny using unzip() fails when deployed
我想解压缩我闪亮应用程序 www
文件夹中的压缩 .mdb 文件,查询数据,然后将其删除。 Unzip()
在我的本地机器上工作,但是当我在 shinyapps.io 部署应用程序时,解压缩文件时出现问题。因为我无法 read.table()
结果文件(它是一个 .mdb)我认为 unz()
不会起作用。
当 运行 在我的本地计算机上
时,此代码有效
服务器:
require(shiny)
shinyServer(function(input, output) {
observeEvent(input$run,{ #Run Button
dbName=unzip('www/test.zip', list=T)
output$name=renderText({
paste(dbName[1])
})
db=unzip('www/ttt.zip', exdir='www', unzip=getOption("unzip"))
test1=read.csv(db) #.csv for simplicity, but my problem uses a .mdb
file.remove(db)
output$testcount=renderText({
paste(sum(test1))
})
})#/Run Button
})#/SS
ui:
shinyUI(
sidebarLayout(
sidebarPanel(width=3,
h5('ZIP test'),
p(align="left",
shiny::actionButton("run", label = "Run!")
),
textOutput(outputId = "name"),
textOutput(outputId = "testcount")
),
mainPanel(width=9,
plotOutput(outputId = "probs",height = "550px")
)
)
)
但是上传到 Shinyapps.io 时失败。
知道我做错了什么吗?我试过直接传递文件路径,并弄乱 unzip=
选项,但无济于事。如果我删除第二个调用,它会告诉我名称就好了,但如果我尝试解压缩文件,它就会中断。
感谢任何帮助!
编辑
我可以通过删除 exdir='www', unzip=getOption("unzip")
并在根目录中查找文件来让它工作:test1=read.csv('file1.csv')
我在 shiny-server 上使用 unzip() ,每次调用该函数时,.zip 的内容都保存在应用程序的根目录中。我认为这是 shinyapps.io.
的问题
在文档中,您只能根据我阅读的 'exdir' 指定文件所在的位置。
我想解压缩我闪亮应用程序 www
文件夹中的压缩 .mdb 文件,查询数据,然后将其删除。 Unzip()
在我的本地机器上工作,但是当我在 shinyapps.io 部署应用程序时,解压缩文件时出现问题。因为我无法 read.table()
结果文件(它是一个 .mdb)我认为 unz()
不会起作用。
当 运行 在我的本地计算机上
时,此代码有效服务器:
require(shiny)
shinyServer(function(input, output) {
observeEvent(input$run,{ #Run Button
dbName=unzip('www/test.zip', list=T)
output$name=renderText({
paste(dbName[1])
})
db=unzip('www/ttt.zip', exdir='www', unzip=getOption("unzip"))
test1=read.csv(db) #.csv for simplicity, but my problem uses a .mdb
file.remove(db)
output$testcount=renderText({
paste(sum(test1))
})
})#/Run Button
})#/SS
ui:
shinyUI(
sidebarLayout(
sidebarPanel(width=3,
h5('ZIP test'),
p(align="left",
shiny::actionButton("run", label = "Run!")
),
textOutput(outputId = "name"),
textOutput(outputId = "testcount")
),
mainPanel(width=9,
plotOutput(outputId = "probs",height = "550px")
)
)
)
但是上传到 Shinyapps.io 时失败。
知道我做错了什么吗?我试过直接传递文件路径,并弄乱 unzip=
选项,但无济于事。如果我删除第二个调用,它会告诉我名称就好了,但如果我尝试解压缩文件,它就会中断。
感谢任何帮助!
编辑
我可以通过删除 exdir='www', unzip=getOption("unzip")
并在根目录中查找文件来让它工作:test1=read.csv('file1.csv')
我在 shiny-server 上使用 unzip() ,每次调用该函数时,.zip 的内容都保存在应用程序的根目录中。我认为这是 shinyapps.io.
的问题在文档中,您只能根据我阅读的 'exdir' 指定文件所在的位置。