private static void Main(string[] args) { ITransferEngine engine = TransferClientLib.TransferEngineFactory.CreateTransferEngine(); engine.FileUploadingEvents.FileExist += FileUploadingEvents_FileExist; engine.FileUploadingEvents.TransferComplete += FileUploadingEvents_TransferComplete; engine.FileUploadingEvents.TransferError += FileUploadingEvents_TransferError; engine.FileUploadingEvents.TransferStep += FileUploadingEvents_TransferStep; while (true) { string read = Console.ReadLine(); if (read == "q") { return; } else if (read == "1") { engine.BeginUpLoad(fileName1, Path.GetFileName(fileName1)); } else if (read == "2") { engine.BeginUpLoad(fileName2, Path.GetFileName(fileName2)); } else if (read == "3") { engine.BeginUpLoad(fileName3, Path.GetFileName(fileName3)); } } }
public FileTransferManager() { this.transferEngine = Factory.Instance.CreateTransferEngine(); this.searchEngine = Factory.Instance.CreateSeachEngine(); }
private void btnUpLoad_Click(object sender, EventArgs e) { this.btnStop.Enabled = false; for (int i = 0; i < dtFile.Rows.Count; i++) { var row = dtFile.Rows[i]; DateTime dtTime = DateTime.Now; ITransferEngine engine = TransferClientLib.TransferEngineFactory.CreateTransferEngine(); engine.FileUploadingEvents.TransferStart += (args) => { this.Invoke(new MethodInvoker(() => { this.btnStop.Enabled = true; })); lock (lockobj) { row["ProjectId"] = args.ProjectId; row.AcceptChanges(); } Application.DoEvents(); }; engine.FileUploadingEvents.FileExist += (args) => { if (MessageBox.Show("存在相同的文件,是否覆盖?", "提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { return(true); } uploadings.Remove(row["FileName"].ToString()); lock (lockobj) { row["IsUpLoading"] = false; row.AcceptChanges(); } Application.DoEvents(); return(false); }; engine.FileUploadingEvents.TransferComplete += (args) => { this.Invoke(new MethodInvoker(() => { this.btnStart.Enabled = true; })); uploadings.Remove(row["FileName"].ToString()); lock (lockobj) { row["IsUpLoading"] = false; row.AcceptChanges(); } Application.DoEvents(); }; engine.FileUploadingEvents.TransferError += (args) => { this.Invoke(new MethodInvoker(() => { this.btnStart.Enabled = true; })); uploadings.Remove(row["FileName"].ToString()); lock (lockobj) { row["errormsg"] = args.Exception.Message; row.AcceptChanges(); } Application.DoEvents(); }; engine.FileUploadingEvents.TransferStep += (args) => { lock (lockobj) { row["TransferedLength"] = args.TransferLen; var second = (DateTime.Now - dtTime).Seconds; if (second != 0) { row["Speed"] = string.Format("{0}Mb/s", args.TransferLen / (1024 * 1024) / second); } row.AcceptChanges(); } Application.DoEvents(); }; string saveName = "Attach\\" + Path.GetFileName(row["SaveName"].ToString()); string fileProjectId = string.Empty; engine.StartUpLoad(row["FileName"].ToString(), saveName, ref fileProjectId); lock (lockobj) { row["ProjectId"] = fileProjectId; row.AcceptChanges(); } Application.DoEvents(); uploadings.Add(row["FileName"].ToString(), engine); } }