Exemple #1
0
        void UploadButtonClick(object sender, EventArgs e)
        {
            ConsoleTextBox.Text = "";

            //crop the image
            Bitmap target = CropImage();

            MemoryStream fileData = new MemoryStream();

            target.Save(fileData, System.Drawing.Imaging.ImageFormat.Png);
            fileData.Seek(0, SeekOrigin.Begin);

            //add post-header
            NameValueCollection nvc = new NameValueCollection();

            nvc.Add("name", UsernameTextBox.Text);
            nvc.Add("pass", FStringHasher.ToMD5(PasswordTextBox.Text));
            nvc.Add("header", (UseAsHeaderCheckBox.Enabled && UseAsHeaderCheckBox.Checked).ToString().ToLower());
            nvc.Add("title", ScreenshotTitleTextBox.Text);
            nvc.Add("description", ScreenshotDescriptionTextBox.Text);

            using (WebResponse response = Upload.PostFile(CPictureUploadUri, nvc, fileData, ScreenshotTitleTextBox.Text + ".png", null, null, null, null))
            {
                // the stream returned by WebResponse.GetResponseStream
                // will contain any content returned by the server after upload

                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    string result = reader.ReadToEnd();
                    if (result.Contains("OK"))
                    {
                        ConsoleTextBox.Text = "Upload Successful.";
                    }
                    else if (result.Contains("LOGIN FAILED"))
                    {
                        ConsoleTextBox.Text = "Login failed!";
                    }
                    else if (result.Contains("SERVER BUSY"))
                    {
                        ConsoleTextBox.Text = "Server is busy, please try again later.";
                    }
                    else
                    {
                        ConsoleTextBox.Text = "ERROR: " + result;
                    }
                }
            }
        }