void worker_DoWork(object sender, DoWorkEventArgs e) { //根据用户id+日期创建文件夹 string sDir = System.Environment.CurrentDirectory + "\\upload\\" + comboBox_uid1.SelectedValue.ToString() + '\\' + DateTime.Now.ToString("yyyyMMdd"); CValidateTools.createDir(sDir); string strFileName = ""; string strCreateTime = ""; bool isFinish = true; do { strFileName = axMDFtpOcx1.getLocalFirstFile(comboBox_usb.Text + ":\\", true); strFileName = strFileName.Replace("\\\\", "\\"); textBox_cur.Text = CValidateTools.formatLongString(strFileName, 35);//格式化 ex: c:/123/.../33/1.avi strCreateTime = axMDFtpOcx1.getLocalFileCreateTime(strFileName); if (strFileName == null || strFileName == "") { //CValidateTools.showError("USB内无待上传文件"); break; } //copy usb文件至目录 if (axMDFtpOcx1.copyLocalFile(strFileName, sDir) == 0) { CValidateTools.showError("文件上传失败,请重试"); ErrorLog.WriteLog(strFileName + " 上传失败,请重试"); isFinish = false; return; } //获得copy后文件绝对路径及文件名 //for test strFileName = @"c:\123\456\jj\aa\2099\3343\222\123.txt"; string sDirFile = sDir + '\\' + strFileName.Substring(strFileName.LastIndexOf('\\') + 1); //上传 if (!uploadFileToDB(sDirFile, strCreateTime)) { CValidateTools.showError("数据库操作失败,请重试"); isFinish = false; return; } worker.ReportProgress(++completeFileNum); Thread.Sleep(100); //完成操作,删除usb内当前文件 if (axMDFtpOcx1.DelLocalFile(strFileName) == 0) { CValidateTools.showError("文件删除失败,请重试"); ErrorLog.WriteLog(strFileName + " 文件删除失败,请重试"); isFinish = false; return; } } while (true); if (isFinish) { CValidateTools.showOK("本次上传工作全部完成"); //clearControlData();//清除录入数据 } }