我試圖用C#將SOAP API上傳到Magento網站。通過Magento SOAP API上傳圖片
這就是我到目前爲止,但它不工作,沒有例外拋出或任何東西,但當我去看看網站上的圖像是空白的。
我需要做Base64Encode嗎?我只是真的嘗試過,因爲this PHP示例做了類似的事情。如果我在沒有得到SOAP異常的情況下嘗試它,並顯示錯誤消息「錯誤請求」。
FileStream fs = File.OpenRead(@"c:\1.jpg");
StreamReader sr = new StreamReader(fs);
string fileConent = sr.ReadToEnd();
byte[] encbuff = Encoding.UTF8.GetBytes(fileConent);
string enc = Convert.ToBase64String(encbuff);
var imageEntity = new catalogProductImageFileEntity();
imageEntity.content = enc;
imageEntity.mime = "image/jpeg";
sr.Close();
fs.Close();
var entityP = new catalogProductAttributeMediaCreateEntity();
entityP.file = imageEntity;
entityP.types = new[] {"image", "small_image", "thumbnail"};
entityP.position = "0";
entityP.exclude = "0";
_m.catalogProductAttributeMediaCreate(MageSessionProvider.GetSession(), SKU, entityP, "default");
+1效果很好。只有一個問題,當我有多個圖像,並且有一個foreach循環包裹整個代碼時,它會上傳正確的數字,但圖像總是隻有一個圖像。每次刺激循環後,我是否需要處置MemoryStream?謝謝! – 2012-02-07 15:36:31