C# で SOAP API を使用して Magento サイトに画像をアップロードしようとしています。
これは私がこれまでに持っているものですが、機能していません。例外はスローされませんが、サイトに行って画像を見ると空白です。
Base64Encode を実行する必要がありますか? このPHPの例は似たようなことをしているので、私は実際にこれを試しただけです。せずに試してみると、SOAP 例外が発生し、"Bad Request" というエラー メッセージが表示されます。
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");