S3 accepts uploads via specially-crafted and pre-authorized HTML POST Form.
A simple gem will help you create two values: Signature and Policy - https://github.com/vinhnglx/s3-authorize
This gem is very useful when working with AngularJS file upload