Exemplo n.º 1
0
        public void send(string message)
        {
            if (string.IsNullOrEmpty(message))
            {
                Clients.All.addMessage("文件内容为空,请检查!!");
                return;
            }

            int fileCount = 0;
            

            if (message.Contains("|"))
                fileCount = message.Split('|').Length;
            else
                fileCount = 1;

            string[] fileCollection = new string[fileCount];
            if (fileCount > 1)
                fileCollection = message.Split('|');
            else
                fileCollection[0] = message;


            string uploadPath = AppDomain.CurrentDomain.BaseDirectory;
            int fileFlag = 0;

            foreach (string filename in fileCollection)
            {
                if (File.Exists(filename))
                {
                    string newName = Path.Combine(uploadPath,"Upload",FileWithOutExtension(filename));
                    if (File.Exists(newName))
                        try
                        {
                            File.Delete(newName);
                        }
                        catch (Exception ex)
                        {
                            Clients.All.addMessage(ex.Message);
                        }
                    parameterCollection p = new parameterCollection();
                    p.filename = filename;
                    p.newName = newName;
                    p.eachLoopSize = 2048;
                    p.fileFlag = fileFlag;

                    //Thread t = new Thread(new ParameterizedThreadStart(CopyFilesAsync));
                    //t.IsBackground = true;
                    //t.Start((object)p);
                    BeginCopy(p);
                    
                    fileFlag++;
                    
                }
            }
        }
Exemplo n.º 2
0
        public void UploadFileOrImg(string msg)
        {
            if (string.IsNullOrEmpty(msg))
            {
                Clients.All.addMessage("文件内容不能为空");
                return;
            }
            int fileCount = 0;

            if (msg.Contains("|"))
            {
                fileCount = msg.Split('|').Length;
            }
            else
            {
                fileCount = 1;
            }
            string[] fileCollection = new string[fileCount];
            if (fileCount > 1)
            {
                fileCollection = msg.Split('|');
            }
            else
            {
                fileCollection[0] = msg;
            }
            string uploadPath = AppDomain.CurrentDomain.BaseDirectory;
            int    fileFlag   = 0;

            foreach (string filename in fileCollection)
            {
                if (File.Exists(filename))
                {
                    string newName = Path.Combine(uploadPath, "UploadFile", FileWithOutExtension(filename));
                    if (File.Exists(newName))
                    {
                        try
                        {
                            File.Delete(newName);
                        }
                        catch (Exception ex)
                        {
                            Clients.All.addMessage(ex.Message.ToString());
                        }
                        parameterCollection pc = new parameterCollection();
                        pc.filename     = filename;
                        pc.newName      = newName;
                        pc.eachLoopSize = 2048;
                        pc.fileFlag     = fileFlag;

                        fileFlag++;
                    }
                }
            }
        }
Exemplo n.º 3
0
 private void BeginCopyFile(object obj)
 {
     try
     {
         parameterCollection pc = (parameterCollection)obj;
         Clients.All.addMessage("Start to copy file:" + pc.filename + "...");
         Action <object> actionStart = new Action <object>(CopyFileAsync);
         actionStart.BeginInvoke(obj, new AsyncCallback(vok =>
         {
             Action <object> actionEnd = (Action <object>)vok.AsyncState;
             actionEnd.EndInvoke(vok);
             Clients.All.addMessage("Copied " + pc.filename + " Ok...");
         }), actionStart);
     }
     catch (Exception ex)
     {
         Clients.All.addMessage(ex.Message.ToString());
     }
 }
Exemplo n.º 4
0
 private void BeginCopy(object obj)
 {
     try
     {
         parameterCollection pCollection = (parameterCollection)obj;
         Clients.All.addMessage("Start to copy " + pCollection.filename + " now...");
         Action <object> actionStart = new Action <object>(CopyFilesAsync);
         actionStart.BeginInvoke(obj, new AsyncCallback(iar =>
         {
             Action <object> actionEnd = (Action <object>)iar.AsyncState;
             actionEnd.EndInvoke(iar);
             Clients.All.addMessage("Copied " + pCollection.filename + " ok...");
         }), actionStart);
     }
     catch (Exception ex)
     {
         Clients.All.addMessage(ex.Message);
     }
 }
Exemplo n.º 5
0
        private void CopyFileAsync(object obj)
        {
            parameterCollection pc = (parameterCollection)obj;

            CopyFile(pc.filename, pc.newName, pc.eachLoopSize, pc.fileFlag);
        }
Exemplo n.º 6
0
        public void send(string message)
        {
            if (string.IsNullOrEmpty(message))
            {
                Clients.All.addMessage("文件内容为空,请检查!!");
                return;
            }

            int fileCount = 0;


            if (message.Contains("|"))
            {
                fileCount = message.Split('|').Length;
            }
            else
            {
                fileCount = 1;
            }

            string[] fileCollection = new string[fileCount];
            if (fileCount > 1)
            {
                fileCollection = message.Split('|');
            }
            else
            {
                fileCollection[0] = message;
            }


            string uploadPath = AppDomain.CurrentDomain.BaseDirectory;
            int    fileFlag   = 0;

            foreach (string filename in fileCollection)
            {
                if (File.Exists(filename))
                {
                    string newName = Path.Combine(uploadPath, "Upload", FileWithOutExtension(filename));
                    if (File.Exists(newName))
                    {
                        try
                        {
                            File.Delete(newName);
                        }
                        catch (Exception ex)
                        {
                            Clients.All.addMessage(ex.Message);
                        }
                    }
                    parameterCollection p = new parameterCollection();
                    p.filename     = filename;
                    p.newName      = newName;
                    p.eachLoopSize = 2048;
                    p.fileFlag     = fileFlag;

                    //Thread t = new Thread(new ParameterizedThreadStart(CopyFilesAsync));
                    //t.IsBackground = true;
                    //t.Start((object)p);
                    BeginCopy(p);

                    fileFlag++;
                }
            }
        }
Exemplo n.º 7
0
        private void CopyFilesAsync(object obj)
        {
            parameterCollection objConvert = (parameterCollection)obj;

            CopyFile(objConvert.filename, objConvert.newName, objConvert.eachLoopSize, objConvert.fileFlag);
        }