public static string SendPhoto(WebQueryBase query, SendPhotoServiceProvider provider, ImageFormat format, string path, string username, string password) { string response; switch (provider) { case SendPhotoServiceProvider.TwitPic: // http://twitpic.com/api.do response = SendPhoto(format, query, path, "http://twitpic.com/api/upload", username, password); break; case SendPhotoServiceProvider.YFrog: // http://yfrog.com/upload_and_post.html response = SendPhoto(format, query, path, "http://yfrog.com/api/upload", username, password); break; case SendPhotoServiceProvider.TwitGoo: // http://twitgoo.com/upload_and_post.html response = SendPhoto(format, query, path, "http://twitgoo.com/api/upload", username, password); break; default: throw new NotSupportedException("Unknown photo service provider specified"); } if (!response.Contains("mediaurl")) { return null; } var match = Regex.Match(response, "<mediaurl[^>]*>(.*?)</mediaurl>"); var mediaUrl = XElement.Parse(match.Value).Value; return mediaUrl; }
public static string SendPhoto(ImageFormat format, WebQueryBase query, string path, string url, string username, string password) { var contentType = format.ToContentType(); var mediaParameter = HttpPostParameter.CreateFile("media", "photo", path, contentType); var usernameParameter = new HttpPostParameter("username", username); var passwordParameter = new HttpPostParameter("password", password); var parameters = new[] { mediaParameter, usernameParameter, passwordParameter }; return query.Request(url, parameters); }