static void Main(string[] args) { try { Console.WriteLine("---------u 上传文件------d 清空所有文件---- t 测试并行下载"); while (true) { var input = Console.ReadLine().ToLower(); MG_BaseDAL <FastDFSData> dal = null; switch (input) { case "u": var filePath = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\\test.jpg"; FastDfsFile fsFile; List <FastDFSData> listSave = new List <FastDFSData>(); for (int i = 0; i < loop; i++) { fsFile = FastDfsHelper.Upload(filePath); if (fsFile != null) { listSave.Add(new FastDFSData() { Id = Path.GetFileNameWithoutExtension(fsFile.FileName).TrimEnd('.'), DownLoadHost = WebHtpp, AbosoluteUrl = fsFile.ToString(), CreateTime = DateTime.Now, FileExt = Path.GetExtension(fsFile.FileName).Trim('.'), FileName = Path.GetFileName(fsFile.FileName) }); } } dal = new MG_BaseDAL <FastDFSData>(); dal.InsertBatch(listSave); Console.WriteLine($"成功导入数据{listSave.Count}"); break; case "d": dal = new MG_BaseDAL <FastDFSData>(); List <FastDFSData> listAll = dal.Find(p => p.Id != "").ToList(); foreach (var item in listAll) { FastDfsHelper.Remove(FastDfsHelper.Config.GroupName, item.AbosoluteUrl.Substring(8)); } dal.DeleteByExpressionM(p => !string.IsNullOrEmpty(p.Id)); Console.WriteLine("清理完成!"); break; case "t": //并行测试直接下载 try { var savePath = ConfigurationManager.AppSettings["SavePath"]; dal = new MG_BaseDAL <FastDFSData>(); List <FastDFSData> listTest = dal.Find(p => !string.IsNullOrEmpty(p.Id)).ToList(); int directoryIndex = 0; int excuteNum = 0; for (int i = 0; i < 1; i++) { directoryIndex = i / 10; if (!Directory.Exists(savePath + $@"{directoryIndex}")) { Directory.CreateDirectory(savePath + $@"{directoryIndex}"); } ParallelLoopResult result = Parallel.For(0, 1, (k, state) => { using (WebClient web = new WebClient()) { web.DownloadFile(listTest[i].DownLoadHost + listTest[i].AbosoluteUrl, savePath + $@"{directoryIndex}\{Guid.NewGuid().ToString()}.json"); System.Threading.Interlocked.Increment(ref excuteNum); Console.WriteLine("excuting..." + excuteNum); } }); } } catch (Exception ex) { Console.WriteLine(ex.Message); } break; } } //Console.WriteLine("masterFileName is " + masterFileName + "\r\n slavefileName is " + slavefileName + ""); } catch (Exception ex) { Console.WriteLine("error :" + ex.Message); } Console.ReadKey(); }