private void imgTextPro(List <Web_UserBuildingCircle> data) { Stopwatch watch = new Stopwatch(); watch.Start(); //过来只有在服务器上的数据 var domainData = data.Where(o => !string.IsNullOrEmpty(o.FirstTitleImg) && o.FirstTitleImg.Contains(_domain)).ToList(); string domainOSSFirstTitlet = string.Empty; foreach (var item in domainData) { infoStatus.Summary = "处理再" + _domain + "域名数据"; //处理封面图片数据 string filePath = item.FirstTitleImg.ToLower() .Replace(_domain, _D) .Replace(_itemfiles.ToLower(), ItemImages.ToLower()) .Replace('/', '\\').ToLower(); if (filePath.Contains(_nS)) { filePath = filePath.Replace(_nS, "\\"); //判断/s/里面的图片是否带 Ori_ string tempFilePath = filePath.Replace(filePath.Split('\\').LastOrDefault(), "Ori_" + filePath.Split('\\').LastOrDefault()); if (File.Exists(tempFilePath)) { filePath = tempFilePath; } } //判断文件是否存在 if (File.Exists(filePath)) { var fileInfo = new System.IO.FileInfo(filePath); if (fileInfo.Length >= ImgLeng) { CompressImg.PicCompress(filePath); } // 移动操作 string ossImgPath = filePath .Replace(ItemImages.ToLower(), _itemfiles.ToLower()) .Remove(0, 3) .Replace('\\', '/').ToLower(); //处理带Ori的数据 if (ossImgPath.Contains("Ori_".ToLower())) { ossImgPath = ossImgPath.Replace("Ori_".ToLower(), ""); } this.OssUpload(ossImgPath, filePath, ref infoStatus); domainOSSFirstTitlet = _domainOne + ossImgPath + firstTitletImg; } //处理 对象数据 var obj = item.ResourceObj.ToList <CallbackUploadInfo>(); List <CallbackUploadInfo> callbackUploadInfos = new List <CallbackUploadInfo>(); if (obj != null) { foreach (var itemRes in obj) { string filePathRes = itemRes.smallImgUrl .Replace(_domain, _D) .Replace(_itemfiles.ToLower(), ItemImages.ToLower()) .Replace('/', '\\').ToLower(); if (filePathRes.Contains(_nS)) { filePathRes = filePathRes.Replace(_nS, "\\"); //判断/s/里面的图片是否带 Ori_ string tempFilePath = filePathRes.Replace(filePathRes.Split('\\').LastOrDefault(), "Ori_" + filePathRes.Split('\\').LastOrDefault()); if (File.Exists(tempFilePath)) { filePathRes = tempFilePath; } //判断文件是否存在 if (File.Exists(filePathRes)) { var fileInfo = new System.IO.FileInfo(filePathRes); if (fileInfo.Length >= ImgLeng) { CompressImg.PicCompress(filePathRes); } // 移动操作 string ossImgPath = filePathRes .Replace(ItemImages.ToLower(), _itemfiles.ToLower()) .Remove(0, 3) .Replace('\\', '/').ToLower(); //处理带Ori的数据 if (ossImgPath.Contains("Ori_".ToLower())) { ossImgPath = ossImgPath.Replace("Ori_".ToLower(), ""); } this.OssUpload(ossImgPath, filePathRes, ref infoStatus); CallbackUploadInfo callback = new CallbackUploadInfo(); string ossPro = string.Empty; if (fileInfo.Length >= 500000) { ossPro = string.Format(bigImg, 20); } else if (fileInfo.Length >= 400000) { ossPro = string.Format(bigImg, 30); } else if (fileInfo.Length >= 300000) { ossPro = string.Format(bigImg, 40); } else if (fileInfo.Length >= 200000) { ossPro = string.Format(bigImg, 50); } else if (fileInfo.Length >= 100000) { ossPro = string.Format(bigImg, 90); } else { ossPro = string.Format(bigImg, 100); } string ossUrl = _domainOne + ossImgPath + ossPro; callback.smallImgUrl = _domainOne + ossImgPath + "?x-oss-process=image/quality,q_90/resize,w_400"; callback.bigImgUrl = ossUrl; callback.fileName = itemRes.fileName; callbackUploadInfos.Add(callback); } } } } // 保存数据 try { using (var context = new DataModelEntities()) { var itemData = context.Web_UserBuildingCircle.FirstOrDefault(o => o.TalkId.Equals(item.TalkId)); if (itemData != null) { itemData.FirstTitleImg = domainOSSFirstTitlet; itemData.ResourceObj = callbackUploadInfos.Count == 0 ? null : callbackUploadInfos.ToJson(); itemData.TalkContent = string.IsNullOrEmpty(itemData.TalkContent.Trim()) ? itemData.TalkTitle : itemData.TalkContent; itemData.TalkTitle = string.IsNullOrEmpty(itemData.TalkTitle) ? null : "NULL"; context.SaveChanges(); } } } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); MessageBox.Show(string.Format("保存数据出错!{0}", ex.Message)); } if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(_comm.WriteMessage), new object[] { 2, item.TalkId, filePath, infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary }); this.Invoke(new DelegateCurrent(_comm.Current), new object[] { 1, item.TalkId }); this.Invoke(new DelegateTimeCost(_comm.TimeCost), new object[] { watch.Elapsed.ToString() }); } else { _comm.WriteMessage(2, item.TalkId, filePath, infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary); _comm.Current(1, item.TalkId); _comm.TimeCost(watch.Elapsed.ToString()); } } // 修改https://www.pic1.jzbl.com 的后缀 var domainOneData = data.Where(o => !string.IsNullOrEmpty(o.FirstTitleImg) && o.FirstTitleImg.Contains(_domainOne)).ToList(); // var domainOneData = data.Where(o =>o.TalkId.Equals("615a6f97-4fda-439a-b5c4-3b0e708bce13")).ToList(); foreach (var itemOne in domainOneData) { infoStatus.Summary = "处理再" + _domainOne + "域名数据"; List <CallbackUploadInfo> callbackUploadInfos = new List <CallbackUploadInfo>(); //处理oss图片有后缀的,只压缩图片就行 if (itemOne.FirstTitleImg.Split('.').LastOrDefault().ToLower().Equals("jpg")) { domainOSSFirstTitlet = itemOne.FirstTitleImg + firstTitletImg; //处理 对象数据 var obj = itemOne.ResourceObj.ToList <CallbackUploadInfo>(); if (obj != null) { foreach (var itemRes in obj) { CallbackUploadInfo callback = new CallbackUploadInfo(); string ossPro = string.Empty; ossPro = string.Format(bigImg, 90); string ossUrl = itemRes.smallImgUrl + ossPro; callback.smallImgUrl = itemRes.smallImgUrl + "?x-oss-process=image/quality,q_90/resize,w_400"; callback.bigImgUrl = ossUrl; callback.fileName = itemRes.fileName; callbackUploadInfos.Add(callback); } } infoStatus.Summary = "处理oss图片有后缀的,只压缩图片就行"; } else { string sourcekey = itemOne.FirstTitleImg.Replace(_domainOne, ""); string targetkey = sourcekey + ".jpg"; CopyObject(bucketName, sourcekey, bucketName, targetkey); domainOSSFirstTitlet = _domainOne + targetkey; //处理 对象数据 var obj = itemOne.ResourceObj.ToList <CallbackUploadInfo>(); if (obj != null) { foreach (var itemRes in obj) { CallbackUploadInfo callback = new CallbackUploadInfo(); string sourcekeylist = itemRes.smallImgUrl.Replace(_domainOne, ""); string targetkeylist = sourcekeylist + ".jpg"; CopyObject(bucketName, sourcekeylist, bucketName, targetkeylist); string ossPro = string.Empty; ossPro = string.Format(bigImg, 90); string ossUrl = itemRes.smallImgUrl + ossPro; callback.smallImgUrl = itemRes.smallImgUrl + "?x-oss-process=image/quality,q_90/resize,w_400"; callback.bigImgUrl = ossUrl; callback.fileName = itemRes.fileName; callbackUploadInfos.Add(callback); } } infoStatus.Summary = "处理oss图片没有后缀,先拷贝,再删除原图"; } // 保存数据 try { using (var context = new DataModelEntities()) { var itemData = context.Web_UserBuildingCircle.FirstOrDefault(o => o.TalkId.Equals(itemOne.TalkId)); if (itemData != null) { itemData.FirstTitleImg = domainOSSFirstTitlet; itemData.ResourceObj = callbackUploadInfos.Count == 0 ? null : callbackUploadInfos.ToJson(); itemData.TalkContent = string.IsNullOrEmpty(itemData.TalkContent.Trim()) ? itemData.TalkTitle : itemData.TalkContent; itemData.TalkTitle = string.IsNullOrEmpty(itemData.TalkTitle) ? null : "NULL"; context.SaveChanges(); } } } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); MessageBox.Show(string.Format("保存数据出错!{0}", ex.Message)); } if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(_comm.WriteMessage), new object[] { 2, itemOne.TalkId, "---------", infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary }); this.Invoke(new DelegateCurrent(_comm.Current), new object[] { 1, itemOne.TalkId }); this.Invoke(new DelegateTimeCost(_comm.TimeCost), new object[] { watch.Elapsed.ToString() }); } else { _comm.WriteMessage(2, itemOne.TalkId, "---------", infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary); _comm.Current(1, itemOne.TalkId); _comm.TimeCost(watch.Elapsed.ToString()); } } }
private void videoPro(List <Web_UserBuildingCircle> data) { Stopwatch watch = new Stopwatch(); watch.Start(); //过来只有在服务器上的数据https://www.pic.jzbl.com var domainData = data.Where(o => o.FirstTitleImg.Contains(_domain)).ToList(); string domainOSSFirstTitlet = string.Empty; foreach (var item in domainData) { //处理封面图片数据 string filePath = item.FirstTitleImg.ToLower() .Replace(_domain, _D) .Replace(_itemfiles.ToLower(), ItemImages.ToLower()) .Replace('/', '\\').ToLower(); if (filePath.Contains(_nS)) { filePath = filePath.Replace(_nS, "\\"); //判断/s/里面的图片是否带 Ori_ string tempFilePath = filePath.Replace(filePath.Split('\\').LastOrDefault(), "Ori_" + filePath.Split('\\').LastOrDefault()); if (File.Exists(tempFilePath)) { filePath = tempFilePath; } } //判断文件是否存在 if (File.Exists(filePath)) { var fileInfo = new System.IO.FileInfo(filePath); if (fileInfo.Length >= ImgLeng) { CompressImg.PicCompress(filePath); } // 移动操作 string ossImgPath = filePath .Replace(ItemImages.ToLower(), _itemfiles.ToLower()) .Remove(0, 3) .Replace('\\', '/').ToLower(); //处理带Ori的数据 if (ossImgPath.Contains("Ori_".ToLower())) { ossImgPath = ossImgPath.Replace("Ori_".ToLower(), ""); } this.OssUpload(ossImgPath, filePath, ref infoStatus); domainOSSFirstTitlet = _domainOne + ossImgPath + firstTitletImg; } //处理 对象数据 var obj = item.ResourceObj.ToList <CallbackUploadInfo>(); List <CallbackUploadInfo> callbackUploadInfos = new List <CallbackUploadInfo>(); if (obj != null) { foreach (var itemRes in obj) { string filePathRes = itemRes.smallImgUrl .Replace(_domain, _D) .Replace(_itemfiles.ToLower(), ItemImages.ToLower()) .Replace('/', '\\').ToLower(); if (filePathRes.Contains(_nS)) { filePathRes = filePathRes.Replace(_nS, "\\"); //判断/s/里面的图片是否带 Ori_ string tempFilePath = filePathRes.Replace(filePathRes.Split('\\').LastOrDefault(), "Ori_" + filePathRes.Split('\\').LastOrDefault()); if (File.Exists(tempFilePath)) { filePathRes = tempFilePath; } //判断文件是否存在 if (File.Exists(filePathRes)) { var fileInfo = new System.IO.FileInfo(filePathRes); if (fileInfo.Length >= ImgLeng) { CompressImg.PicCompress(filePathRes); } // 移动操作 string ossImgPath = filePathRes .Replace(ItemImages.ToLower(), _itemfiles.ToLower()) .Remove(0, 3) .Replace('\\', '/').ToLower(); //处理带Ori的数据 if (ossImgPath.Contains("Ori_".ToLower())) { ossImgPath = ossImgPath.Replace("Ori_".ToLower(), ""); } this.OssUpload(ossImgPath, filePathRes, ref infoStatus); CallbackUploadInfo callback = new CallbackUploadInfo(); string ossPro = string.Empty; if (fileInfo.Length >= 500000) { ossPro = string.Format(bigImg, 20); } else if (fileInfo.Length >= 400000) { ossPro = string.Format(bigImg, 30); } else if (fileInfo.Length >= 300000) { ossPro = string.Format(bigImg, 40); } else if (fileInfo.Length >= 200000) { ossPro = string.Format(bigImg, 50); } else if (fileInfo.Length >= 100000) { ossPro = string.Format(bigImg, 90); } else { ossPro = string.Format(bigImg, 100); } string ossUrl = _domainOne + ossImgPath + ossPro; callback.smallImgUrl = _domainOne + ossImgPath + smallImg; callback.bigImgUrl = ossUrl; callback.fileName = itemRes.fileName; callbackUploadInfos.Add(callback); } } } } // 保存数据 try { using (var context = new DataModelEntities()) { var itemData = context.Web_UserBuildingCircle.FirstOrDefault(o => o.TalkId.Equals(item.TalkId)); if (itemData != null) { itemData.FirstTitleImg = domainOSSFirstTitlet; itemData.ResourceObj = callbackUploadInfos.Count == 0 ? null : callbackUploadInfos.ToJson(); itemData.TalkContent = string.IsNullOrEmpty(itemData.TalkContent.Trim()) ? itemData.TalkTitle : itemData.TalkContent; itemData.TalkTitle = string.IsNullOrEmpty(itemData.TalkTitle) ? null : "NULL"; context.SaveChanges(); } } } catch (Exception ex) { Console.WriteLine("Failed with error info: {0}", ex.Message); MessageBox.Show(string.Format("保存数据出错!{0}", ex.Message)); } if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(_comm.WriteMessage), new object[] { 2, item.TalkId, filePath, infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary }); this.Invoke(new DelegateCurrent(_comm.Current), new object[] { 1, item.TalkId }); this.Invoke(new DelegateTimeCost(_comm.TimeCost), new object[] { watch.Elapsed.ToString() }); } else { _comm.WriteMessage(2, item.TalkId, filePath, infoStatus.OldPath, infoStatus.iStatus, infoStatus.Summary); _comm.Current(1, item.TalkId); _comm.TimeCost(watch.Elapsed.ToString()); } } }
/// <summary> /// 移动图片 /// </summary> private void TitleImgCopy() { using (var context = new DataModelEntities()) { string message = "开始获取数据,请等待…"; if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(WriteMessage), new object[] { message }); } else { this.WriteMessage(message); } SimpleLoading loadingfrm = new SimpleLoading(this); //将Loaing窗口,注入到 SplashScreenManager 来管理 SplashScreenManager loading = new SplashScreenManager(loadingfrm); loading.ShowLoading(); var data = context.Web_ItemLibrary .Where(o => o.IsDelete.ToString().Equals("0")) .OrderByDescending(o => o.CreateDate) .ToList(); int iExists = 1, iUnExists = 1; for (int i = 0; i < data.Count; i++) { string filePath = data[i].ItemTitleImg.Replace(_domain, _G).Replace('/', '\\'); if (!File.Exists(filePath)) { iUnExists++; message = $"路径:{filePath} 状态:< > 文件不存在"; } else { iExists++; message = $"路径:{filePath} 状态:< > 待复制"; //没有就创建一个基本文件夹 string filePathCopy = filePath.Replace(_itemfiles, _itemfilescopy); try { //没有文件夹还需要创建 //拷贝原始文件 string fileName = filePathCopy.Split('\\').LastOrDefault(); string basePath = filePathCopy.Replace(fileName, ""); if (!Directory.Exists(basePath)) { Directory.CreateDirectory(basePath); } //判断文件是否存在 if (File.Exists(filePathCopy)) { message = $"拷贝(新路径原图)文件:{filePath} 到 {filePathCopy} 状态:》文件以存在《"; } else { File.Copy(filePath, filePathCopy); message = $"拷贝(压缩图片)文件:{filePath} 到 {filePathCopy} 状态:》成功《"; } if (filePath.Contains(_samll)) { if (filePath.Contains(_nS)) { string nSPath = filePath.Replace(_nS, @"\").Replace(_samll, ""); string nSfilePath = filePathCopy.Replace(_nS, @"\").Replace(_samll, ""); //判断文件是否存在 if (File.Exists(nSfilePath)) { message = $"拷贝(新路径原图)文件:{nSPath} 到 {nSfilePath} 状态:》文件以存在《"; } else { File.Copy(nSPath, nSfilePath); message = $"拷贝(新路径原图)文件:{nSPath} 到 {nSfilePath} 状态:》成功《"; } } else { string nSPath = filePath.Replace(_samll, ""); string nSfilePath = filePathCopy.Replace(_samll, ""); //判断文件是否存在 if (File.Exists(nSfilePath)) { message = $"拷贝(老路径原图)文件:{nSPath} 到 {nSfilePath} 状态:》文件以存在《"; } else { File.Copy(nSPath, nSfilePath); message = $"拷贝(老路径原图)文件:{nSPath} 到 {nSfilePath} 状态:》成功《"; } } } else { message = $"封面路径:{filePath} 不包含_small 状态:》未知《"; } } catch (Exception ex) { message = $"拷贝文件:{filePath} 状态:》失败{ex}"; } } if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(WriteMessage), new object[] { message }); } else { this.WriteMessage(message); } } message = $"共计{data.Count}条,本地存在{iExists}条,不存在{iUnExists}条"; if (this.InvokeRequired) { this.Invoke(new DelegateWriteMessage(WriteMessage), new object[] { message }); } else { this.WriteMessage(message); } } }