【发布时间】:2019-03-25 21:43:43
【问题描述】:
我目前正在使用文本文件为我的大学开发一个基本的聊天室系统,让每个人都可以在他们的区域保存聊天室并与他人共享。为此,我需要获取服务器上每个用户文件的实际目录,而不是他们的本地(相对)目录。
我的大学有一个布局,每个用户 E:\ 驱动器等于 \ServerName\Student\ (StudentNameHere)\ 过去我一直在使用 .Replace("E:\","\\ServerName\Student\"+Enviroment.Username +"\")
但是,当我发现我的大学有不同的位置时,比如说 Student1 而不是 Student,这使我的代码更容易被破坏。
我尝试过使用
Path.GetFullPath(<File in this Users Directory>);
但它只返回相对于用户目录而不是服务器的路径,我不知道他们使用的链接类型,但我认为符号是一个好习惯,但在我自己的电脑上再次尝试相同的命令我知道它有 Visual Studio 源/存储库的连接链接,也没有提到它的真实(绝对)路径,对此的任何帮助将不胜感激,因为这将修复我的代码中的许多错误,并希望是一种干净的方式也解决了,谢谢。
【问题讨论】:
-
我不是 100% 肯定明白你想要做什么,但可能就是这样:stackoverflow.com/questions/2067075/…
-
即使您可以获得他们的数据的底层路径,您的应用也很可能会被拒绝访问
-
@MickyD 我通过让我的整个大学访问我拥有的文件夹来绕过访问权限,这样他们就可以运行程序,当他们聊天时,他们选择的文件夹就会被使用使用 icacls 命令将其完全控制权交给聊天中的人。
-
@KevinGosse 这似乎与我目前遇到的问题相似,我会看看,不幸的是直到明天才能确认它是否成功,因为我必须在大学电脑上测试一下,谢谢。
-
如果是这样为什么你需要知道他们的数据在哪里?他们可以对他们的东西进行文件打开浏览器,然后保存到您的文件夹中。我错过了什么吗?除非您正在运行一些在用户上下文中不运行的偷偷摸摸的
secondary进程。让每个人都做icacls有点极端和老派
标签: c# path absolute-path