10 c# permissions file-io
我正在使用FTPClient库将文件从Windows共享传输到FTP服务器.
该库的SendFile方法使用以下代码:
FileStream stream = new FileStream(localFileName, FileMode.Open);
Run Code Online (Sandbox Code Playgroud)
这会导致抛出System.UnauthorizedAccessException,但是我可以使用Windows资源管理器在执行代码的同一用户帐户下打开,重命名和移动文件.
谁能告诉我为什么会这样?
编辑:
奇怪的是,我可以访问共享上的其他文件,这些文件已被授予与我无法获得相同的NTFS权限.
这也是一个Windows窗体应用程序.
更新:
仍然没有运气.我能够使用StreamReader文件流而不是文件流来读取文件.我无法理解为什么两者表现不同.
fre*_*tje 28
您确定它是相同的用户帐户吗?你能尝试一下吗?
MessageBox.Show(WindowsIdentity.GetCurrent().Name);
Run Code Online (Sandbox Code Playgroud)
?
此外,您确定该文件不是只读的吗?您是否需要对该文件的写入权限?否则你可以尝试:
FileStream stream = new FileStream(localFileName, FileMode.Open, FileAccess.Read);
Run Code Online (Sandbox Code Playgroud)
1)使用explorer对物理目录的NTFS权限
2) 在 IIS MMC 控制台 FTP 站点内允许读/写 FTP 文件夹
3) 检查上述步骤时,确保FTP站点或虚拟目录确实存在
http://www.eggheadcafe.com/forumarchives/inetserveriisftp/Jan2006/post25322215.asp