Esempio n. 1
0
        public bool UploadImage(string imagePath)
        {
            try
            {
                Image img = Image.FromFile(imagePath);
                NameValueCollection nvc = new NameValueCollection();
                Bitmap resizedImg       = ImageUtil.ResizeImage(img, 300, 400);
                nvc.Add("ThumbnailStream", "data:image/png;base64," +
                        ImageUtil.ImageToBase64(resizedImg,
                                                System.Drawing.Imaging.ImageFormat.Png));
                img.Dispose();
                resizedImg.Dispose();
                string uploadUrl = "http://upload.cafepresscloud.com/DesignAndListCloudAPI/DesignAndListCloudAPIRestful.svc/GetProductUrlsForThumbnailBase64?ImageFullSizeHeight=3200&ImageFullSizeWidth=2400&FileName=5.png&ImageCaption=&ImageDescription=&MemberNo={0}";
                string result    = web.HttpUploadFile(string.Format(uploadUrl, memberNo), null, null, null, nvc);

                dynamic rs       = JsonConvert.DeserializeObject(result);
                dynamic suggests = rs.GetProductUrlsForThumbnailBase64Result.Suggestions;
                if (suggests != null && suggests.Count > 0)
                {
                    imageNo = suggests[0].ImageNo;
                }
                else
                {
                    // request to designs url to get image no
                    string reqUrl = "http://members.cafepress.com/m/MemberDesigns/GetMemberDesigns";
                    nvc.Clear();
                    nvc.Add("page", "1");
                    nvc.Add("sort", "recent");
                    nvc.Add("design-type", "all");
                    nvc.Add("designsRemovedCount", "0");

                    result = web.SendRequest(reqUrl, "POST", nvc, false, "application/x-www-form-urlencoded; charset=UTF-8");
                    dynamic designResult = JsonConvert.DeserializeObject(result);
                    foreach (var design in designResult.Data.Designs)
                    {
                        if (design.TotalProductCount == 0)
                        {
                            imageNo = design.Id;
                            break;
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Login: {0}, stacktrace: {1}", ex.Message, ex.StackTrace);
            }
            return(false);
        }
Esempio n. 2
0
        public void Upload(string logoPath)
        {
            try
            {
                string url = "https://viralstyle.com/design.beta/upload-asset";
                NameValueCollection nvc = new NameValueCollection();

                nvc.Add("product_id", "1");
                nvc.Add("is_embroidery", "0");
                nvc.Add("is_phone_case", "0");
                nvc.Add("sublimation", "0");
                nvc.Add("campaign_identifier", "NEW");
                nvc.Add("identifier", "NEW");
                nvc.Add("sublimation", "0");
                nvc.Add("width", "218");
                nvc.Add("extension", "png");
                //string result = web.HttpUploadFile(url,
                //    @"C:\Users\RAVI\Desktop\Logo\BAKER.png", "image_file", "image/png", nvc);

                string result = web.HttpUploadFile(url, logoPath,
                                                   "image_file", "image/png", nvc);
                Console.WriteLine(result);

                uploadAssetResult = JsonConvert.DeserializeObject(result);
                //string campId = uploadResult.data.campaign_identifier;
                //string imageId = Path.GetFileNameWithoutExtension(uploadResult.data.original_file.ToString());
                //string id = uploadResult.data.identifier;

                //string orgUrl = uploadResult.data.original_file;
                //string resizeUrl = uploadResult.data.trimmed_image;
                //string trimmedUrl = uploadResult.data.resized_image;
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Error: {0}, stacktrace: {1}", ex.Message, ex.StackTrace);
            }
        }
Esempio n. 3
0
        private void button1_Click(object sender, EventArgs e)
        {
            CustomWeb           web = new CustomWeb();
            NameValueCollection nvc = new NameValueCollection();

            string url = "https://viralstyle.com/design.beta/product-categories?api_campaign=false";

            string result = web.SendRequest(url, "GET", "viralstyle.com", null, true);

            //Console.WriteLine(result);
            url = "https://viralstyle.com/api/v2/token";

            nvc.Clear();
            //grant_type=client_credentials&client_id=frontend&client_secret=frontend&scope=public
            nvc.Add("grant_type", "client_credentials");
            nvc.Add("client_id", "frontend");
            nvc.Add("client_secret", "frontend");
            nvc.Add("scope", "public");
            result = web.SendRequest(url, "POST", "viralstyle.com", nvc, false, "application/x-www-form-urlencoded");
            dynamic jsonResult = JsonConvert.DeserializeObject(result);
            string  token      = jsonResult.access_token;

            Console.WriteLine(token);

            //nvc.Add("email", "*****@*****.**");
            // nvc.Add("password", "19001560");
            string loginUrl = " https://viralstyle.com/api/v2/auth/login";

            LoginModel loginModel = new LoginModel("*****@*****.**", "19001560", false);
            string     loginJson  = JsonConvert.SerializeObject(loginModel);

            result = web.SendRequestJsonType(loginUrl, "POST", "application/json", loginJson, token, true);
            // Console.WriteLine(result);

            url = "https://viralstyle.com/api/v2/token";
            nvc.Clear();
            //grant_type=client_credentials&client_id=frontend&client_secret=frontend&scope=public
            nvc.Add("grant_type", "client_credentials");
            nvc.Add("client_id", "frontend");
            nvc.Add("client_secret", "frontend");
            nvc.Add("scope", "public");
            result     = web.SendRequest(url, "POST", "viralstyle.com", nvc, false, "application/x-www-form-urlencoded");
            jsonResult = JsonConvert.DeserializeObject(result);
            token      = jsonResult.access_token;
            Console.WriteLine(token);

            string uploadUrl = "https://viralstyle.com/design.beta/upload-asset";

            nvc.Clear();
            //nvc.Add("is_api_order", "0");
            nvc.Add("product_id", "1");
            nvc.Add("is_embroidery", "0");
            nvc.Add("is_phone_case", "0");
            nvc.Add("sublimation", "0");
            nvc.Add("campaign_identifier", "NEW");
            nvc.Add("identifier", "NEW");
            nvc.Add("sublimation", "0");
            nvc.Add("width", "218");
            nvc.Add("extension", "png");
            result = web.HttpUploadFile(uploadUrl, @"C:\Users\RAVI\Desktop\Logo\BROWN.png",
                                        "image_file", "image/png", nvc);
            dynamic uploadResult = JsonConvert.DeserializeObject(result);
            string  campId       = uploadResult.data.campaign_identifier;
            string  imageId      = Path.GetFileNameWithoutExtension(uploadResult.data.original_file.ToString());
            string  id           = uploadResult.data.identifier;

            string orgUrl     = uploadResult.data.original_file;
            string resizeUrl  = uploadResult.data.trimmed_image;
            string trimmedUrl = uploadResult.data.resized_image;

            Console.WriteLine(result);


            string title       = "this is my title";
            string description = "this is another description";
            // string token = "tkMyMmQDXpeeLkFaLv5wb3lPx0KdEsNV269PnepU";
            string uniqueCampUrl = "here-is-my-url-" + StringUtil.RandomString(8);
            string jsonData      = File.ReadAllText(Directory.GetCurrentDirectory() + "\\data3.json");

            nvc.Clear();
            result = web.SendRequest("https://viralstyle.com/design.beta", "GET", nvc);
            var doc = new HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(result);

            string newToken = doc.DocumentNode.SelectSingleNode("//input[@id='_token']")
                              .GetAttributeValue("value", string.Empty);

            System.Drawing.Image img = System.Drawing.Image.FromFile(@"C:\Users\RAVI\Desktop\Logo\test.png");
            //var resizeImg = Resize(@"C:\Users\RAVI\Desktop\Logo\BROWN.png", 0.5);
            string base64String;

            using (var ms = new MemoryStream())
            {
                img.Save(ms, img.RawFormat);
                base64String = "data:image/png;base64," + Convert.ToBase64String(ms.ToArray());
            }
            //img.Dispose();
            img.Dispose();
            jsonData = jsonData.Replace("{CAMP_ID}", campId)
                       .Replace("{IMAGE_ID}", id)
                       .Replace("{RESIZE_IMAGE_URL}", resizeUrl)
                       .Replace("{TRIMMED_IMAGE_URL}", trimmedUrl)
                       .Replace("{ORG_IMAGE_URL}", orgUrl)
                       .Replace("{TITLE}", title)
                       .Replace("{DESCRIPTION}", description)
                       .Replace("{CAMP_URL}", uniqueCampUrl)
                       .Replace("{TOKEN}", newToken)
                       .Replace("{IMAGE_64}", base64String);


            // check url
            dynamic urlObj = new ExpandoObject();

            urlObj.url = uniqueCampUrl;
            string checkResult = web.HttpUploadFileByJson("https://viralstyle.com/design.beta/check-url",
                                                          JsonConvert.SerializeObject(urlObj), token, newToken);
            //Console.WriteLine(result);
            string campUrl = "https://viralstyle.com/api/v2/designer/store";

            result = web.HttpUploadFileByJson(campUrl, jsonData, token, newToken);
            Console.WriteLine(result);
        }
Esempio n. 4
0
        private void button1_Click(object sender, EventArgs e)
        {
            NameValueCollection nvc = new NameValueCollection();
            CustomWeb           web = new CustomWeb();


            string test = web.SendRequest("https://www.teepublic.com", "GET", null, true, "");

            string loginUrl = "https://www.teepublic.com/users/sign_in";

            nvc.Clear();
            nvc.Add("utf8", "✓");
            nvc.Add("user[post_login_partial]", "");
            nvc.Add("session[email]", "*****@*****.**");
            nvc.Add("session[password]", "19001560");
            nvc.Add("session[remember_me]", "0");
            nvc.Add("commit", "Login");


            //https://www.teepublic.com/users/sign_up
            test = web.SendRequest("https://www.teepublic.com/users/sign_up", "GET", null, false, "");
            string responseUrl = "";
            string result      = web.SendRequest(loginUrl, "POST", "www.teepublic.com", nvc, ref responseUrl, true, "application/x-www-form-urlencoded; charset=UTF-8");

            test = web.SendRequest("https://www.teepublic.com", "GET", null, false, "");

            result = web.SendRequest("https://www.teepublic.com/design/quick_create", "GET",
                                     "www.teepublic.com", null, ref responseUrl, false, "");
            //Console.WriteLine(result);

            string referer  = responseUrl;
            string publicId = "";

            string tempUrl = "";

            result = web.SendRequest(referer, "GET",
                                     "www.teepublic.com", null, ref tempUrl, false, "");


            var doc = new HtmlAgilityPack.HtmlDocument();

            doc.LoadHtml(result);

            var     fileInput = doc.DocumentNode.SelectSingleNode("//input[@name='file']");
            string  uploadUrl = fileInput.GetAttributeValue("data-url", string.Empty);
            dynamic objData   = JsonConvert.DeserializeObject(fileInput.GetAttributeValue("data-form-data",
                                                                                          string.Empty).Replace(""", "\"").Replace("{{", "{").Replace("}}", "}"));

            //result = web.SendUploadOptionRequest(uploadUrl,
            //    "OPTIONS", referer);

            nvc.Clear();
            nvc.Add("callback", objData.callback.ToString());
            nvc.Add("eager", objData.eager.ToString());
            nvc.Add("exif", objData.exif.ToString());
            nvc.Add("folder", objData.folder.ToString());
            nvc.Add("format", objData.format.ToString());
            nvc.Add("image_metadata", objData.image_metadata.ToString());
            nvc.Add("invalidate", objData.invalidate.ToString());
            nvc.Add("public_id", objData.public_id.ToString());
            nvc.Add("timestamp", objData.timestamp.ToString());
            nvc.Add("transformation", objData.transformation.ToString());
            nvc.Add("type", objData.type.ToString());
            nvc.Add("signature", objData.signature.ToString());
            nvc.Add("api_key", objData.api_key.ToString());

            result = web.HttpUploadFile(uploadUrl, @"C:\Users\RAVI\Desktop\Logo\SMITH.png",
                                        "file", "image/png", nvc, "api.cloudinary.com", "https://www.teepublic.com", referer);


            string colorLink = GetLinkFromStr(result).Replace("<a href=\"", "").Replace("\">", "");

            result = web.SendRequest(colorLink, "GET", null, false, "");

            string finalLink = GetLinkFromStr(result).Replace("<a href=\"", "").Replace("\">", "");

            result = web.SendRequest(finalLink, "GET", null, false, "");
            Console.WriteLine(result);

            string updateInfoUrl = referer.Replace("edit", "").Replace("designs", "t-shirt");

            //result = web.SendRequest(updateInfoUrl, "POST",
            // "www.teepublic.com", nvc, ref responseUrl, false, "application/x-www-form-urlencoded");

            result = web.SendUploadInfo(updateInfoUrl, "POST", "www.teepublic.com",
                                        "application/x-www-form-urlencoded", queryString, referer);
            Console.WriteLine(result);
        }