Exemplo n.º 1
0
        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();
 }
Exemplo n.º 3
0
 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);
     }
 }
 public FileTransferManager()
 {
     this.transferEngine = Factory.Instance.CreateTransferEngine();
     this.searchEngine = Factory.Instance.CreateSeachEngine();
 }