I've tried Riak CS and Walrus, and read a few other's documentation pages but can't tell whether they would support this or not.
What I have is an application that uses S3 policies to allow the client to upload and download directly from their browser. I'm looking for a way to replace S3 (for some customers, who would prefer their data not in Amazon's cloud), without having to maintain two different branches of code everywhere I currently talk to S3.
Example of what I do now: https://aws.amazon.com/articles/1434
Help would be greatly appreciated, I'm stumped!
What you want is called "POST OBJECT". Just check document of S3 compatible implements to see support status.
For example, Walrus claims that it supports POST OBJECT. https://github.com/eucalyptus/eucalyptus/wiki/Walrus-S3-API
On the other hand, Riak CS does not support POST OBJECT http://docs.basho.com/riakcs/latest/references/apis/storage/s3/
Ps.: Many S3 implements claims that they are compatible with AWS S3. In fact, it is not ture. If you want fully compatibility, try google cloudian.