gpt4 book ai didi

r - 在 Shiny 应用程序中存储用户上传的数据

转载 作者:行者123 更新时间:2023-12-01 12:26:33 25 4
gpt4 key购买 nike

我正在构建一个 Shiny 应用程序 (R),它允许用户上传他们自己的数据(假设是标准文件格式)。用户界面类似于给定的示例 here .我希望能够在用户上传后永久存储该数据,以便其他用户也可以访问它。

例如,用户 1 上传了 file1.txt,应用允许分析该文件。用户 2 上传 file2.txt。现在,该应用程序的任何 future 用户都可以访问用户 1 和 2 上传的文件,并且能够上传更多文件,其他用户可以访问这些文件。有没有办法在 Shiny 中做到这一点?

最佳答案

您需要将上传的文件从临时目录($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)

关于r - 在 Shiny 应用程序中存储用户上传的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39056314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com