title: Uploading images via the Magento SOAP API
body: <p>I'm attempting to upload images to a Magento site using the SOAP API with C#.</p>
  
  <p>This is what I have so far, but it isn't working, no exceptions are thrown or anything but when I go and look on the site the image is blank.</p>
  
  <p>Do I need to do the Base64Encode? I only really tried this because <a href="http://www.westwideweb.com/wp/2009/01/30/magento-images-and-the-product_media-api/" rel="noreferrer">this</a> PHP example does something similar. If I try it without I get a SOAP exception with the error message of "Bad Request".</p>
  
  <pre><code>    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");
  </code></pre>