Exemple #1
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://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);
        }
Exemple #2
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);
        }
Exemple #3
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);
        }