I'm looking for a WordPress plugin that would allow me to upload files straight to

We are a development shop that actively co-creates CMS websites with clients. This means that we are often iterating sites that clients are using and uploading files to. In our projects, we store the database and code in a git repository which makes it easy to move code from production to local development.

The problem with this process is that some of the files that clients upload are very large and we do not want to upload them to the repository, but we would still like to be able to access them as if we have them.

So, I thought, instead of moving the files around we could just use a 3rd party that would host the files and we would just access them. I could use Amazon S3 with a backup plugin, but I would prefer to just upload to S3 through the admin interface.

The second reason for wanting this plugin is that we hosts blogs that have 20-30GB of high resolution images. I would prefer to not keep these files on our server because server space is expensive. Its less expensive to use Amazon S3 to host the files.

In conclusion, is there a plugin that allows to use the WordPress Media upload, but it will actually bypass the local storage and upload files straight to the server?

Thank you in advance for your answers!


5 Answers 5


I had this same requirement: my VPS lacked disk space, but I still wanted to manage photos with WordPress. tantan-s3 did not suffice, since a copy of every photo is stored locally.

It's possible to abstract file storage using PHP stream wrappers, but a couple pieces of core WordPress are incompatible. So that's the short answer: WordPress natively doesn't support enough functionality to make this possible.

Moving on: WordPress ticket #18543 concerns itself with patching core to support stream wrappers in imagejpeg() (and other GD functions) and wp_mkdir_p().

Zend_Service_Amazon_S3_Stream provides an S3 stream wrapper, but it tends to be inefficient, requesting the default 8192 bytes at a time rather than buffering more, generating a huge number of requests in the process. I've been sitting on this for months, so I might as well release the mods into the wild. This patch works against Zend Framework 1.11.10.

Completing the circle is a plugin to translate the upload path to S3.

I would love to see someone take this further than I have, but it won't get far until core WordPress improves stream support.

  • 1
    If you have a VPS, why not just mount an s3 bucket and set that path as the upload directory?
    – v0idless
    Nov 4, 2011 at 17:29
  • @v0idless, that's a great question. It wouldn't be portable, but I think it would work. Mounting the bucket would still require Adam's url translation plugin. Am I correct?
    – tarasm
    Nov 4, 2011 at 18:26
  • The WordPress media options allows you to set the upload directory: Store uploads in this folder which should suffice for a mounted bucket. I think Adam's plugin appends the s3:// protocol to the upload path for stream support.
    – v0idless
    Nov 4, 2011 at 18:35
  • @tarasm I believe pre_option_upload_url_path is the important filter for the download path. Nov 4, 2011 at 19:15
  • @AdamBackstrom I think it is as close to the final answer as its going to get at this point. Would you be so kind as to update this question if this situation changes?
    – tarasm
    Nov 7, 2011 at 16:20

Check out WP2Cloud plugin. Uploaded files are not stored locally - they go directly to Amazon S3.

Further on, if you choose to, you can use Amazon S3 to store all website content, not just uploads. By doing so you permanently solve the backup problem and gain the flexibility of hosting the website anywhere you wish to without moving the data around.


There was a plugin called WP Read-Only. Which will upload the files to Amazon S3. I am using it on my heroku server. Because you cann't store static files on heroku server.


Try this: http://wordpress.org/extend/plugins/tantan-s3/ ^^

  • Last time I looked at tantan-s3, it stored uploads locally, only mirroring them to Amazon S3. Nov 4, 2011 at 16:47

There is a plugin that can serves this purpose, it allows you to upload files directly to S3 from your admin panel, or use shortcode to embed an S3 browser to front pages for users to upload files to S3, you can control who can upload, delete, create folders etc. it's very useful.

Here is the link: WordPress S3 Browser

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