C# - 检查UNC文件共享(Winforms)上的文件夹写权限

问题描述 投票:0回答:1

我正在尝试检查NAS文件共享上的UNC文件路径,然后将文件复制到其中。我理解我可能会在实际副本本身上出错(而且我现在因为我目前没有权限在那里写),但是我还要事先检查程序启动时让用户知道是否或在尝试之前,他们不能将文件复制到那里。

我的问题是,当我确定我没有写权限时,这总是返回true,因为我无法在文件资源管理器中复制和粘贴文件,而C#中的实际File.Copy返回“访问路径'\ nascharf06 \ uas \ to_be_processed \ Andy \ A.jpg'被拒绝“。

为什么这会继续变回真实?

string folder = @"\\nascharf06\uas\to_be_processed\Andy";
FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Write, folder);
        try
        {
            f2.Demand();
            return true;
        }
        catch
        {
            return false;
        }
c# winforms file file-permissions
1个回答
1
投票

检查FileIOPermissionAcces.PathDiscovery & FileIOPermissionAccess.Read & FileIOPermissionAccess.Write - 您的访问权限可能被阻止,因为您甚至无法阅读。

如果这没有帮助,你可以使用try - catch中包含的单个“虚拟写入”来确保你可以写。如果您没有删除权限,则可能无法删除虚拟写入文件。

这也可能对你有所帮助:how-can-you-easily-check-if-access-is-denied-for-a-file-in-net(SO-类似问题的答案)

© www.soinside.com 2019 - 2024. All rights reserved.