Refile is a modern file upload library for Ruby applications.
Features:
- Configurable backends, file system, S3, etc...
 - Convenient integration with ORMs
 - On the fly manipulation of images and other files
 - Streaming IO for fast and memory friendly uploads
 - Works across form redisplays, i.e. when validations fail, even on S3
 - Effortless direct uploads, even to S3