我正在构建一个Shiny应用程序(R),该应用程序允许用户上传自己的数据(假设标准文件格式)。用户界面类似于此处给出的示例。我希望能够在用户上传数据后将其永久存储,以便其他用户也可以访问它。
例如,user1上传file1.txt,应用程序允许分析此文件。User2上传file2.txt。现在,该应用程序的任何将来的用户都可以访问用户1和2上传的文件,并且还可以上传更多文件,其他用户可以访问这些文件。有办法在Shiny中做到吗?
您需要将上传的文件从temp目录($ datapath)复制到一个永久位置(即另一个目录)。然后,您可以使用dir()获取用户文件列表。
如果您需要永久存储,请访问http://deanattali.com/blog/shiny-persistent-data-storage/
对于本地存储,请参见下面的示例。
library(shiny)
ui <- shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Select file to upload' )
),
mainPanel(
h4('List of uploaded files:')
,verbatimTextOutput('fileList')
)
))
)
server <- shinyServer(function(input, output) {
observe({
if (is.null(input$file1) ) { return(NULL) }
file.copy(from = input$file1$datapath, to = paste0('userFile_',input$file1$name ) )
})
output$fileList <- renderText({
input$file1
dir(pattern = 'userFile_')
})
})
shinyApp(ui, server)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句