简短的我正在尝试通过我的软件备份 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;
}
- 1 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消