我试图用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