I deployed a Ruby on Rails app to Heroku, and I realized they have a read-only file system (http://docs.heroku.com/constraints#read-only-filesystem). This means I can't cache images locally, for example. I was using a Ruby gem called "Rio" (Ruby Input/Output), and that let me save files to my /public/images directory. Are there any good hosts that allow this? Specifically, I was looking at Rackspace Cloud. Would really help to know in advance before I try and deploy somewhere else!
You don't need to switch hosts to accomplish this.
With Heroku, you can write to the RAILS_ROOT/tmp directory. They just aren't guaranteed to stick around between requests, because different requests could be served from different dynos, and the tmp dir is cleared out periodically.
So you can fetch your images to that directory, do whatever processing your need, and then upload them to S3 (I'd recommend Delayed::Job for this if you aren't already using it).