public void Deleted(object source, FileSystemEventArgs e) { _mainForm.Log("id[" + id + "]文件删除事件处理逻辑 " + e.ChangeType + e.FullPath); if (!IsSyn(e.FullPath)) { return; } SCommReq <SDelFileReq> delReq = new SCommReq <SDelFileReq>(); delReq.param = new SDelFileReq(); string filePath = e.FullPath.Replace(GetWindowsPath(), _linux_root_path); filePath = filePath.Replace("\\", "/"); delReq.method = "del_file"; delReq.param.file_name = filePath; string jsonReq = JsonHelper.SerializeObject(delReq); // 填充报文 string recevData = ""; RemoteRequest(jsonReq, ref recevData); // 发送请求 SDelFileRsp stRsp = JsonHelper.DeserializeJsonToObject <SDelFileRsp>(recevData); if (stRsp != null) { Log(stRsp.msg); } else { Log("返回值异常"); } }
public void Created(object source, FileSystemEventArgs e) { _mainForm.Log("id[" + id + "]文件创建事件处理逻辑 " + e.ChangeType + e.FullPath); if (!IsSyn(e.FullPath)) { return; } try { // 文件创建,处理逻辑 if (File.GetAttributes(e.FullPath) != FileAttributes.Directory) { string linuxPath = e.FullPath.Replace(GetWindowsPath(), _linux_root_path); linuxPath = linuxPath.Replace("\\", "/"); int index = linuxPath.LastIndexOf("/"); if (index >= 0) { linuxPath = linuxPath.Substring(0, index); } _synFiles.SynFile(e.FullPath, linuxPath); Log("id[" + id + "]同步文件:" + e.FullPath + "->" + linuxPath); } else// 创建目录 { SCommReq <SCreateDirReq> renameReq = new SCommReq <SCreateDirReq>(); renameReq.method = "create_dir"; renameReq.param = new SCreateDirReq(); renameReq.param.dir = ConvertToLinuxPath(e.FullPath); string jsonReq = JsonHelper.SerializeObject(renameReq); string recevData = ""; RemoteRequest(jsonReq, ref recevData); // 发送请求 SCreateDirRsp stRsp = JsonHelper.DeserializeJsonToObject <SCreateDirRsp>(recevData); if (stRsp != null) { Log(stRsp.msg); } else { Log("返回值异常"); } Log("\r\n"); } } catch (FileNotFoundException ee) { Log("找不到文件:" + ee.ToString()); } }
public void Renamed(object source, RenamedEventArgs e) { _mainForm.Log("id[" + id + "]文件重命名事件处理逻辑 " + e.ChangeType + e.FullPath); if (!IsSyn(e.FullPath)) { return; } string jsonReq; string recevData; SCommReq <SRenameReq> renameReq = new SCommReq <SRenameReq>(); if (File.GetAttributes(e.FullPath) != FileAttributes.Directory) { renameReq.method = "rename_file"; } else { renameReq.method = "rename_dir"; } renameReq.param = new SRenameReq(); renameReq.param.old_name = ConvertToLinuxPath(e.OldFullPath); renameReq.param.new_name = ConvertToLinuxPath(e.FullPath); jsonReq = JsonHelper.SerializeObject(renameReq); // 发送数据 recevData = ""; RemoteRequest(jsonReq, ref recevData); // 发送请求 SRenameRsp stRsp = JsonHelper.DeserializeJsonToObject <SRenameRsp>(recevData); if (stRsp != null) { Log(stRsp.msg); } else { Log("返回值异常"); } Log("\r\n"); Log("触发一次文件变化时间"); string dirPath, fileName = ""; dirPath = GetDirName(e.FullPath, ref fileName); FileSystemEventArgs fileChanngeEventArgs = new FileSystemEventArgs(WatcherChangeTypes.Changed, dirPath, fileName); Changed(source, fileChanngeEventArgs); }