0

我有以下代码:

FileStream file = new FileStream(@"\\srv\dscan$\001\unknown\2012-04\0011200001001700_001.pdf", System.IO.FileMode.Open);

它总是抛出一个FileNotFoundException. 奇怪的是,如果我将上面完全相同的路径粘贴到 Windows 资源管理器中,则可以找到并完美打开该文件。

这可能是什么原因造成的?是否有一种特殊的方式来处理共享网络驱动器上的文件流?

4

3 回答 3

2

这可能是什么原因造成的?

正在执行包含此代码的进程的帐户没有足够的权限从该位置读取。

于 2013-05-27T15:03:30.123 回答
1

达林·季米特洛夫怎么说。

您在 Windows 中登录的用户帐户似乎具有足够的权限,或者您可能输入了标记为“记住”的用户名和密码。

运行您的代码时,它可能在最低权限 (UAC) 下运行,或者您正在创建一个 Windows 服务,该服务在不同的帐户下一起运行。

问题也可能与美元符号有关,这表明您正试图达到隐藏的份额。我不知道这本身是否是一个问题,但可能会影响您的(不)足够的权利。

于 2013-05-27T15:08:55.253 回答
-1

C# 对路径的处理与 Windows 资源管理器不同。还有一件事,如果您查看这些帖子: 从网络位置读取文件

你会发现你需要在配置上做更多的工作。

于 2013-05-27T15:08:19.250 回答