Exemplo n.º 1
0
        private void btnImg_Click(object sender, EventArgs e)
        {
            var fi = new FileInfo("C:\\Program Files\\Utilities\\exiftool.exe");
            var exifTool = new ExifToolWrapper(fi);

            // Build our list of desired tags
            var tagList = new List<string>();
            tagList.AddRange(new String[]
            {
                "Title",
                "Description",
                "DateTimeOriginal"
            });

            FileInfo imageFi = new FileInfo(lblImage.Text);
            var tagValues = exifTool.GetTagsFromFile(imageFi, tagList);

            var newMediaPost = default(newMediaDescriptor);
            newMediaPost.name = "ProgramaticallyUploadedImage.jpg";
            newMediaPost.type = "image/jpeg";
            newMediaPost.overwrite = false;

            // Now we read in the picture and turn it into a byte array
            byte[] fileAsBytes;

            using (var fs = new FileStream(lblImage.Text, FileMode.Open))
            {
                fileAsBytes = new byte[fs.Length];
                fs.Read(fileAsBytes, 0, (int)fs.Length);
            }

            // And convert it to base-64 encoding
            newMediaPost.bits = Convert.ToBase64String(fileAsBytes);

            categories = (IgetCatList)XmlRpcProxyGen.Create(typeof(IgetCatList));
            clientProtocol = (XmlRpcClientProtocol)categories;
            clientProtocol.Url = "http://www.thepotters.org/test/wpl/xmlrpc.php";

            try
            {
                var result = categories.NewMedia(
                    3, "test", "DjF3iUfMDto0", newMediaPost);

                MessageBox.Show(string.Format(
                    "ID: {0}\r\nFile: {1}\r\nURL: {2}\r\nType:{3}",
                    result.id,
                    result.file,
                    result.url,
                    result.type));

                tbBody.Text = "";
                tbTitle.Text = "";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }