private async Task <int> Work(string filePath, string cookiePath) { string cookie = File.ReadAllText(cookiePath, EncodingType.GetType(cookiePath)); var fileEncoding = EncodingType.GetType(filePath); var fileContent = File.ReadAllText(filePath, fileEncoding); var fileInfo = new FileInfo(filePath); var fileExtension = fileInfo.Extension; var fileDir = fileInfo.DirectoryName; var imgProc = new ImageProcessor(); var imgList = imgProc.Process(fileContent); Console.WriteLine($"提取图片成功,共{imgList.Count}个."); var uploader = new ClientUploader("https://yq.aliyun.com"); var replaceDic = new Dictionary <string, string>(); foreach (var img in imgList) { string imgPhyPath = Path.Combine(fileDir, img); Console.WriteLine($"正在上传图片:{imgPhyPath}"); try { var res = await uploader.UploadAsync(imgPhyPath, "/upload/img2", "fileToUpload", new Dictionary <string, string>() { ["Cookie"] = cookie }); //校验 res = res.Replace("\r\n", ""); if (!res.StartsWith("https://yqfile.alicdn.com")) { Console.WriteLine("Cookie无效!"); return(1); } replaceDic.Add(img, res); Console.WriteLine("上传成功!"); } catch (Exception e) { Console.WriteLine($"处理失败!{e.Message}"); return(1); } } var newContent = imgProc.Replace(replaceDic, fileContent); string newFileName = filePath.Substring(0, filePath.LastIndexOf('.')) + "-aliyun" + fileExtension; File.WriteAllText(newFileName, newContent, fileEncoding); Console.WriteLine($"处理完成!文件保存在:{newFileName}"); return(0); }
private async Task <int> Work(string filePath, string cookiePath) { string cookie = File.ReadAllText(cookiePath, EncodingType.GetType(cookiePath)); var fileEncoding = EncodingType.GetType(filePath); var fileContent = File.ReadAllText(filePath, fileEncoding); var fileInfo = new FileInfo(filePath); var fileExtension = fileInfo.Extension; var fileDir = fileInfo.DirectoryName; var imgProc = new ImageProcessor(); var imgList = imgProc.Process(fileContent); Console.WriteLine($"提取图片成功,共{imgList.Count}个."); var uploader = new ClientUploader("https://www.imooc.com"); var replaceDic = new Dictionary <string, string>(); foreach (var img in imgList) { string imgPhyPath = Path.Combine(fileDir, img); Console.WriteLine($"正在上传图片:{imgPhyPath}"); try { var res = await uploader.UploadAsync(imgPhyPath, "/article/ajaxuploadimg", "photo", new Dictionary <string, string>() { ["Cookie"] = cookie }); //校验 var json = JObject.Parse(res); if (json.Value <int>("result") != 0) { Console.WriteLine("Cookie无效!"); return(1); } var httpImgPath = json["data"].Value <string>("imgpath"); replaceDic.Add(img, httpImgPath); Console.WriteLine("上传成功!"); } catch (Exception e) { Console.WriteLine($"处理失败!{e.Message}"); return(1); } } var newContent = imgProc.Replace(replaceDic, fileContent); string newFileName = filePath.Substring(0, filePath.LastIndexOf('.')) + "-imooc" + fileExtension; File.WriteAllText(newFileName, newContent, fileEncoding); Console.WriteLine($"处理完成!文件保存在:{newFileName}"); return(0); }
private async Task <int> Work(string filePath, string cookiePath) { string cookie = File.ReadAllText(cookiePath, EncodingType.GetType(cookiePath)); var fileEncoding = EncodingType.GetType(filePath); var fileContent = File.ReadAllText(filePath, fileEncoding); var fileInfo = new FileInfo(filePath); var fileExtension = fileInfo.Extension; var fileDir = fileInfo.DirectoryName; var imgProc = new ImageProcessor(); var imgList = imgProc.Process(fileContent); Console.WriteLine($"提取图片成功,共{imgList.Count}个."); var uploader = new ClientUploader("https://cloud.tencent.com"); var replaceDic = new Dictionary <string, string>(); foreach (var img in imgList) { string imgPhyPath = Path.Combine(fileDir, img); Console.WriteLine($"正在上传图片:{imgPhyPath}"); try { var res = await uploader.UploadAsync(imgPhyPath, $"/developer/services/ajax/image?action=UploadImage&uin={Uin}&csrfCode={Csrf}", "image", new Dictionary <string, string>() { ["Cookie"] = cookie }); //校验 var json = JObject.Parse(res); if (json.Value <int>("code") != 0) { Console.WriteLine("Cookie或uin、csrf code 无效!"); return(1); } var httpImgPath = json["data"].Value <string>("url"); replaceDic.Add(img, httpImgPath); Console.WriteLine("上传成功!"); } catch (Exception e) { Console.WriteLine($"处理失败!{e.Message}"); return(1); } } var newContent = imgProc.Replace(replaceDic, fileContent); string newFileName = filePath.Substring(0, filePath.LastIndexOf('.')) + "-tcloud" + fileExtension; File.WriteAllText(newFileName, newContent, fileEncoding); Console.WriteLine($"处理完成!文件保存在:{newFileName}"); return(0); }