I am trying to set up a site that will be storing a large amount of images (roughly 50,000 to start with). The strategy for this was to use Storage API and S3 storage to deal with the costs of hosting, and Services API to provide an interface for a offline converter/uploader to get the images to the site.

This is working pretty good. If I upload an image manually by creating a node and filling in the image field, it gets sent to Storage API and good things happen. I can also upload files and create nodes from the offline uploader via the XMLRPC Services API.

The problem is that the files uploaded with the offline uploader don't get handled by Storage API. Currently the script uses the Services API method 'file.create' to create and object, then the details returned are used to fill in the image field on the node that is created next. I expect there is a better way to do this, but I am not sure.

  • very interesting. Are the thumbnails first generated on the local file system before transferred to S3?
    – uwe
    Jun 22, 2012 at 22:45
  • 1
    When things are working correctly, yes. Thumbnails are generated, and then stored in a storage class who's initial container is the filesystem. When cron runs, they are transferred to S3, and removed from the filesystem. Jun 25, 2012 at 16:35
  • Mike, is the mass image upload going to be a reoccurring task? Do you want to use an offline uploader to avoid php & webserver?
    – Tom
    May 28, 2013 at 23:03
  • There is a feature request out for this already. Keep an eye on this thread. When someone writes it, it is bound to end up here. May 30, 2013 at 8:27

1 Answer 1


Still in early dev, but checkout Storage API Populate:

Storage API Populate provides a mechanism to move existing files within file/images fields into storage. The module requires the Storage API module.

For a scenario where you have an existing site, without any Cloud/CDN support for assets and would like to use Storage API to manage the storage and serving of files.

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.