Estoy intentando subir imágenes a un sitio de Magento usando la API SOAP con C#.Carga de imágenes a través de la API SOAP de Magento
Esto es lo que tengo hasta ahora, pero no está funcionando, no se lanzan excepciones ni nada, pero cuando voy y miro en el sitio la imagen está en blanco.
¿Necesito hacer el Base64Encode? Solo probé esto porque el ejemplo PHP de this hace algo similar. Si lo intento sin obtener una excepción SOAP con el mensaje de error de "Solicitud incorrecta".
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 funcionó muy bien. Solo una pregunta, cuando tengo varias imágenes y tengo un bucle foreach envuelto alrededor de todo el código, carga el número correcto si las imágenes pero siempre son solo una imagen. ¿Debo eliminar el MemoryStream después de cada irritación del ciclo? ¡Gracias! –
Gracias por esto. Acabo de comenzar un proyecto para integrar un sistema existente en Magento y la documentación es prácticamente inexistente. Esto fue EXACTAMENTE lo que necesitaba. – Archer
Si pudiera darte + 10^19, lo haría. –