public struct MediaObjectUrl
{
public string url;
}
public struct MediaObject
public string name;
public string type;
public byte[] bits;
[XmlRpcMethod("metaWeblog.newMediaObject",
Description="Add a media object to a post using the "
+ "metaWeblog API. Returns media url as a string.")]
MediaObjectUrl newMediaObject(
string blogid,
string username,
string password,
MediaObject mediaObject);
/// <summary>
/// Post a media object.
/// </summary>
/// <param name="blogid">The blogid.</param>
/// <param name="username">The username.</param>
/// <param name="password">The password.</param>
/// <param name="mediaObject">The media object.</param>
/// <returns></returns>
public MediaObjectUrl newMediaObject(string blogid, string username, string password, MediaObject mediaObject)
if (!ValidUser(username, password))
throw new XmlRpcFaultException(0, "You have no right to do that.");
string filename =
Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "images/" + mediaObject.name);
if (!Directory.Exists(Path.GetDirectoryName(filename)))
Directory.CreateDirectory(Path.GetDirectoryName(filename));
File.WriteAllBytes(filename, mediaObject.bits);
MediaObjectUrl mediaObjectUrl = new MediaObjectUrl();
mediaObjectUrl.url = ConfigurationManager.AppSettings["BlogUrl"] + "/images/" + mediaObject.name;
return mediaObjectUrl;