为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕婉清6462132 2021-09-19 16:06:41
简短的我正在尝试通过我的软件备份 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是否足以阻止用户保存在网络驱动器上,或者我应该使用其他任何方法来防止这种情况发生吗?
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

您可以检查路径是否为网络路径并使用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;    

}


查看完整回答
反对 回复 2021-09-19
  • 1 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信