Background: All of our product images are hosted on Amazon S3. Magento is going to be hosted in a load balance / multiple instance Docker setup. The hosting environment is only going to provide the needed processor and storage power to run the magento PHP. The Database and downloadable content / product images are going to be hosted on their own cloud based platforms, maximizing performance and vastly improving up-time.

I want to stress this is going to be a DISTRIBUTED setup. There just isn't an actual way to host the images on what would normally be a random linux VM or "LAMP" machine. To do so would break the entire concept.

Problem: I have set the base URL for media to the correct 'base' on S3. I am attempting to create products using the REST API. I've looked at the code for saving images and it seems like one is forced to include the base64 version of the image in the 'content' property. This seems counter intuitive, since uploading the images to the Magento hosting environment is what we are trying to avoid.

Also, the links to the images include the cache component, size, etc. I understand specifying the size, but the unique ID for the cache is not provided when pulling a product using REST, only C/o/Computer.gif in the File property. I would like to disable this cache id. It is adding complexity.

Example URL that Magento expects an image to be located. http://assets.nursingsociety.org.s3.amazonaws.com/catalog/product/cache/1/small_image/240x300/beff4985b56e3afdbeabfc89641a4582/C/o/Computer.png

Actual image url http://assets.nursingsociety.org.s3.amazonaws.com/products/STTI/5611/images/Computer.gif

I'm not opposed to creating a module to eliminate this problem, but I'd like to see if it can be done just using Magento alone. Back to google I go....

EDIT: I've found something that might be a solution... Moving the magento media directory to S3... http://thinkglobal.co/resources/moving-the-magento-media-directory-to-s3/

  • How about this extension magecomp.com/magento-2-amazon-s3.html Commented Feb 29, 2020 at 7:36
  • The thinkglobal.co link is now dead :/
    – bfontaine
    Commented Dec 5, 2022 at 11:51
  • @GauravJain This extension (which you should disclose is from your company) does half the job: it explicitely says you still have to manually upload the images on S3 and then manually link them to the products in Magento. OP wanted a way to do all this automatically through an API call.
    – bfontaine
    Commented Dec 5, 2022 at 12:10

1 Answer 1


I posted a support ticket to magentocommerce.com with the exact same question, their response is as follows:

CREATED DATE: 7/28/2016 12:51 PM Hello,

Thank you for contacting Magento Support. This is Jemal, I will assist you with this ticket.

I have opened a ticket with my engineers regarding this behavior. I will update you when I receive feedback from my team. Thank you for your patience while this is looked into closer.


Jemal Magento Support

The engineer's response is as follows:

CREATED DATE: 8/2/2016 9:36 PM Hello,

Thank you for your patience while this is looked into closer.

I received feedback from my engineer who worked on this ticket, she said there is no native way to save a product with images hosted on a remote storage. You will need to enlist a developer who can customize this functionality.

Please let me know if you have further questions regarding this ticket.


Jemal Magento Support

I'm guessing it doesn't natively do this, even though you would think it would since there are settings in the backend to make it work. To get it to happen you'd have to code a module, or buy an extension. BTW: This is for EE 2.x so it can't even do it either.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.