C# Win Form - 只允许在本地 PC 上保存文件

简短的

我正在尝试通过我的软件备份 SQL 数据库。在运行时,软件会询问用户要将备份存储在何处。


要求

现在,我的要求是用户只能在 PC 本身或连接到它的任何 Pendrive 上创建备份,而不能在网络 PC 上创建备份。


我想出的解决方案

这是我正在使用的代码:-


SaveFileDialog obj = new SaveFileDialog();

obj.DefaultExt = ".bak";

obj.FileName = FileName;

obj.ShowDialog();

if (obj.FileName != null && obj.FileName != "" && obj.FileName.StartsWith("\\\\") == false)

{

     //Save File Work

}

现在,我想问你们,这段代码obj.FileName.StartsWith("\\\\") == false是否足以阻止用户保存在网络驱动器上,或者我应该使用其他任何方法来防止这种情况发生吗?


慕婉清6462132
浏览 144回答 1
1回答

翻阅古今

您可以检查路径是否为网络路径并使用new Uri(mypath).IsUnc然后根据该阻止用户所以代码会像if (new Uri(path).IsUnc || IsNetworkPath(path)){  //show message not allowed  return;}//for checking path is network or not private bool IsNetworkPath(path) {    FileInfo file = new FileInfo(path);    DriveInfo drive = new DriveInfo(file.Directory.Root.FullName);    return dive.DrivType == DrivType .Network;    }
打开App,查看更多内容
随时随地看视频慕课网APP