Exemplo n.º 1
0
        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();//清除录入数据
            }
        }