如何在Shiny应用程序中为每个用户创建工作目录?

问题描述

我正在构建一个闪亮的应用程序,该应用程序可以根据用户上传的文件创建多个文件。创建的文件具有相同的名称,这可以使用户下载文件时以与数据无关的信息结尾。

如何为每个用户创建一个独立的目录?

到目前为止,我已经找到了创建存储文件目录的下一个解决方案:

def get_user(phone,nil) do
  user = %User{phone: phone} 
  Data.insert({phone,user})
  user
end
def get_user(phone,%User{} = user),do: user

但是我已经读到,如果我将应用程序上传到服务器,则可能无法正常工作。

解决方法

This是我在RStudio社区中为我工作的答案:

通过RStudio社区的@pieterjanvc:

设置工作目录可能无法像Shiny中那样工作。我建议您根据用户的会话令牌生成一个文件夹,该文件夹是在用户连接到Shiny应用程序时生成的,并且位于会话变量中。

library(shiny)

ui <- fluidPage(

)

server <- function(input,output,session) {
 
   dir.create(session$token)
   file.create(paste0(session$token,"/userFile.txt"))
 
}

shinyApp(ui,server)

创建目录后,可以再次使用令牌(该用户的基本文件夹的名称)来保存该文件中的任何文件。您应该记得在任务完成后清除文件夹,否则很快就会有很多文件夹。

如果有人遇到与我相同的问题,我希望这个答案会有所帮助。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...