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++; } } }
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++; } } } }
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()); } }
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); } }
private void CopyFileAsync(object obj) { parameterCollection pc = (parameterCollection)obj; CopyFile(pc.filename, pc.newName, pc.eachLoopSize, pc.fileFlag); }
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++; } } }
private void CopyFilesAsync(object obj) { parameterCollection objConvert = (parameterCollection)obj; CopyFile(objConvert.filename, objConvert.newName, objConvert.eachLoopSize, objConvert.fileFlag); }