使用shinyFiles上传文件

时间:2015-07-29 16:10:26

标签: r shiny

可以使用shinyFiles包将文件上传到服务器吗?我正在寻找与闪亮包装中的标准fileInput类似的功能。我在shinyFiles中找到的最接近的东西:

app.r

library(shiny)
library(shinyFiles)

server <- function(input, output, session) {
  shinyFileSave(input, 'save', session=session, roots=c(wd='.')) }
ui <- bootstrapPage(shinySaveButton('save', 'Save', 'Save as...'))
shinyApp(ui=ui,server=server)

但是这只允许我浏览服务器文件(不是本地),甚至在我保存时我也看不到创建的文件。

1 个答案:

答案 0 :(得分:2)

简短的回答是否定的(抱歉)... shinyFiles只是服务器文件系统的浏览器,主要用于当地使用闪亮的应用程序时使用(以避免文件复制所需的开销)本地Web实现)。

shinyFileSave的功能只是让用户在某个位置指定一个不存在的文件名并将该信息传递回服务器 - 它由服务器逻辑以有意义的方式处理该信息,通过在指定位置创建文件。

你可以以某种方式将shinyFileSave和fileInput连接起来上传一个文件并将其放在一个特定的位置,但是这个UI可能会非常混乱,因为它不可避免地会将shinyFiles / Bootstrap ui与原生的ui元素混合在一起。由于本地文件系统出于安全原因而受到Javascript代码的保护,只要服务器和客户端位于不同的位置,这将是唯一的方法...