/// <summary> /// 下载 /// </summary> /// <param name="dvFile"></param> /// <param name="strPathType"></param> /// <param name="strFileNameEx"></param> /// <param name="strProductPublicUrl"></param> /// <param name="strFileSyncExecRecord_id"></param> /// <param name="strRemark"></param> /// <param name="isCoverDownload">true: 覆盖下载</param> private void DownLoadFile(DataRow[] dvFile, string strPathType, string ParticularYear, string GradeTerm, string Resource_Version, string Subject, string strFileNameEx, string strProductPublicUrl, string strFileSyncExecRecord_id, string strRemark, string Book_Id, string Resource_Type, bool isCoverDownload) { bool isDownload = false;//是否要下载文件 foreach (var item in dvFile) { #region 组织文件源的URL与本地存储的路径 string strPathCommon = string.Empty; string strFileName = string.Empty;//文件名(没后缀) strFileName = item["FileName"].ToString(); strPathCommon = string.Format("{0}/{1}/{2}/{3}/{4}/" , strPathType , ParticularYear , GradeTerm , Resource_Version , Subject); string strFilePath = string.Empty; string strFileNameFullDocument = strFileName + "." + strFileNameEx; string remotingFileUrl = string.Empty; string localFilePath = string.Empty; remotingFileUrl = strProductPublicUrl + "Upload/Resource/" + strPathCommon; localFilePath = strLocalPhsicalPath + strPathCommon; string remotingViewFileUrl = string.Empty; string localViewFilePath = string.Empty; #endregion isDownload = false; if (!File.Exists(localFilePath + strFileNameFullDocument))//文件不存在 { isDownload = true; } else { if (isCoverDownload)//是覆盖下载 { isDownload = true; } } if (isDownload) { Rc.Model.Resources.Model_FileSyncExecRecordDetail model_FileSyncExecRecordDetail = new Rc.Model.Resources.Model_FileSyncExecRecordDetail(); Rc.BLL.Resources.BLL_FileSyncExecRecordDetail bll_FileSyncExecRecordDetail = new Rc.BLL.Resources.BLL_FileSyncExecRecordDetail(); model_FileSyncExecRecordDetail.FileSyncExecRecordDetail_id = Guid.NewGuid().ToString(); model_FileSyncExecRecordDetail.FileSyncExecRecord_id = strFileSyncExecRecord_id; model_FileSyncExecRecordDetail.Book_Id = Book_Id; model_FileSyncExecRecordDetail.ResourceToResourceFolder_Id = item["ResourceToResourceFolder_Id"].ToString(); model_FileSyncExecRecordDetail.Resource_Type = Resource_Type; model_FileSyncExecRecordDetail.FileUrl = strPathCommon + strFileNameFullDocument; model_FileSyncExecRecordDetail.Detail_Remark = "开始同步:" + strRemark; model_FileSyncExecRecordDetail.Detail_Status = "0"; model_FileSyncExecRecordDetail.Detail_TimeStart = DateTime.Now; bll_FileSyncExecRecordDetail.Add(model_FileSyncExecRecordDetail); try { string downloadFileMsg = pfunction.DownLoadFileByWebClient(remotingFileUrl, localFilePath, strFileNameFullDocument); model_FileSyncExecRecordDetail.Detail_TimeEnd = DateTime.Now; if (downloadFileMsg != "true") { model_FileSyncExecRecordDetail.Detail_Status = "2"; if (downloadFileMsg.Contains("404")) { model_FileSyncExecRecordDetail.Detail_Status = "1";//如果是远程服务器未找到文件,设置为状态为成功 // 17-08-21如果是远程服务器未找到文件,删除同步记录 bll_FileSyncExecRecordDetail.Delete(model_FileSyncExecRecordDetail.FileSyncExecRecordDetail_id); } else { model_FileSyncExecRecordDetail.Detail_Remark = strRemark + ":" + downloadFileMsg; bll_FileSyncExecRecordDetail.Update(model_FileSyncExecRecordDetail); } } else { model_FileSyncExecRecordDetail.Detail_Remark = "同步成功:" + strRemark; if (File.Exists(localFilePath + strFileNameFullDocument)) { model_FileSyncExecRecordDetail.Detail_Status = "1"; } bll_FileSyncExecRecordDetail.Update(model_FileSyncExecRecordDetail); } } catch (Exception ex) { //同步异常 删除已创建文件 17-09-11TS if (File.Exists(localFilePath + strFileNameFullDocument)) { File.Delete(localFilePath + strFileNameFullDocument); } model_FileSyncExecRecordDetail.Detail_Remark = "同步失败,异常:" + ex.Message.ToString(); model_FileSyncExecRecordDetail.Detail_Status = "2"; bll_FileSyncExecRecordDetail.Update(model_FileSyncExecRecordDetail); throw; } } } }
/// <summary> /// 下载 /// </summary> private void DownLoadFileTestpaper(DataRow[] dvFile, string strPathType, string strFileNameEx, string strProductPublicUrl, string strFileSyncExecRecord_id, string strRemark) { foreach (var item in dvFile) { #region 组织文件源的URL与本地存储的路径 string strPathCommon = string.Empty; string strFileName = string.Empty;//文件名(没后缀) strFileName = item["FileName"].ToString(); strPathCommon = string.Format("{0}/{1}/" , pfunction.ToShortDate(item["Createtime"].ToString()) , strPathType); string strFilePath = string.Empty; string strFileNameFullDocument = strFileName + "." + strFileNameEx; string remotingFileUrl = string.Empty; string localFilePath = string.Empty; remotingFileUrl = strProductPublicUrl + "Upload/Resource/" + strPathCommon; localFilePath = strLocalPhsicalPath + strPathCommon; string remotingViewFileUrl = string.Empty; string localViewFilePath = string.Empty; #endregion Rc.Model.Resources.Model_FileSyncExecRecordDetail model_FileSyncExecRecordDetail = new Rc.Model.Resources.Model_FileSyncExecRecordDetail(); Rc.BLL.Resources.BLL_FileSyncExecRecordDetail bll_FileSyncExecRecordDetail = new Rc.BLL.Resources.BLL_FileSyncExecRecordDetail(); model_FileSyncExecRecordDetail.FileSyncExecRecordDetail_id = Guid.NewGuid().ToString(); model_FileSyncExecRecordDetail.FileSyncExecRecord_id = strFileSyncExecRecord_id; model_FileSyncExecRecordDetail.Book_Id = item["Book_Id"].ToString(); model_FileSyncExecRecordDetail.ResourceToResourceFolder_Id = item["ResourceToResourceFolder_Id"].ToString(); model_FileSyncExecRecordDetail.TestQuestions_Id = item["TestQuestions_Id"].ToString(); model_FileSyncExecRecordDetail.Resource_Type = item["Resource_Type"].ToString(); model_FileSyncExecRecordDetail.FileUrl = strPathCommon + strFileNameFullDocument; model_FileSyncExecRecordDetail.Detail_Remark = strRemark; model_FileSyncExecRecordDetail.Detail_Status = "0"; model_FileSyncExecRecordDetail.Detail_TimeStart = DateTime.Now; bll_FileSyncExecRecordDetail.Add(model_FileSyncExecRecordDetail); string downloadFileMsg = pfunction.DownLoadFileByWebClient(remotingFileUrl, localFilePath, strFileNameFullDocument); model_FileSyncExecRecordDetail.Detail_TimeEnd = DateTime.Now; if (downloadFileMsg != "true") { model_FileSyncExecRecordDetail.Detail_Status = "2"; if (downloadFileMsg.Contains("404")) { model_FileSyncExecRecordDetail.Detail_Status = "1";//如果是远程服务器未找到文件,设置为状态为成功 // 17-08-21如果是远程服务器未找到文件,删除同步记录 bll_FileSyncExecRecordDetail.Delete(model_FileSyncExecRecordDetail.FileSyncExecRecordDetail_id); } else { model_FileSyncExecRecordDetail.Detail_Remark = strRemark + ":" + downloadFileMsg; bll_FileSyncExecRecordDetail.Update(model_FileSyncExecRecordDetail); } } else { model_FileSyncExecRecordDetail.Detail_Remark = "同步成功:" + strRemark; if (File.Exists(localFilePath + strFileNameFullDocument)) { model_FileSyncExecRecordDetail.Detail_Status = "1"; } bll_FileSyncExecRecordDetail.Update(model_FileSyncExecRecordDetail); } } }