2010-12-06 12 views
1

ちょっと、Wordpress XML RPCを使用してWordpressにデータベースから情報をプッシュする作業用サイトを開発中です。私は情報をつかんで、うまく投稿することができますが、画像をアップロードする時点になると(WP Media Tabでは実行時エラー/画像なし)動作するように見えますが、壊れた画像リンクがアップロードされます。それはどういうわけか私のイメージからデータを取得していないように見えます、なぜ私はここに私のコードのいくつかがあるのか​​どうかわかりません。そのコードの後WordPress XML RPCアップロード画像C#

MemoryStream ms = new MemoryStream(); 
    System.Drawing.Image img = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath("_Images/DownloadButton-PSD.png")); 
    img.Save(ms, ImageFormat.Png); 
    byte[] imagebytes = new byte[ms.Length]; 
    ms.Position = 0; 
    ms.Read(imagebytes, 0, Convert.ToInt32(ms.Length)); 

は私がFYI変数

var data = new Data 
    { 
    Base64 = Convert.ToBase64String(imagebytes), 
    Name = "DownloadButton-PSD.png", 
    Type = "image/png", 
    Overwrite = false, 
    }; 
    _wpWrapper.UploadFile(data); 

データの形式で関数に渡し、画像情報をロードします。また、私は私のプロジェクトのために http://joeblogs.codeplex.com/ からのdllのを使用しています

データクラスは次のようになります。

public class Data 
{ 
    public string Name { get; set; } 
    public string Type { get; set; } 
    public string Base64 { get; set; } 
    public bool Overwrite { get; set; } 
} 
アップロードのイメージのために - MediaObjectInfo NewMediaObject(MediaObject mediaObject)

ファイルのアップロード機能は、次のようになります。JoeBlogsライブラリで

public void UploadFile(Data data) 
    { 
     var xmlRpcData = Map.From.Data(data); 
     var result = _wrapper.UploadFile(this.BlogID, Username, Password, xmlRpcData); 

    } 
+0

これに何か運がありますか? – ariel

+0

私はこれをやっていた当時、JoeBlogのコードベースは不完全でした。私はあなたがファイルではなくMediaObjectsを使用したいと思っているからです。 – h34dhun73r

+0

こちらのソリューションをご覧ください。これは古いバージョンのものかもしれませんが、あなたはそれを使用できるはずです。[http://pixpuffindev.blogspot.com/2012/08/posting-to-wordpress-with-c-using.html](http:/ /pixpuffindev.blogspot.com/2012/08/posting-to-wordpress-with-c-using.html) – hreinn1000

答えて

2

クラスMetaWeblogWrapperとメソッドを使用してみてください。

関連する問題