Brian, have you looked into using something like Amazon's S3 (simple storage service) for storage? You can store stuff there and serve it (directly) from there as well. You pay storage + bandwidth costs. It's pretty competitive pricing,
Amazon Simple Storage Service (Amazon S3)
Just a few prices from that page:
Storage
* $0.150 per GB – first 50 TB / month of storage used
Data Transfer
* $0.030 per GB – all data transfer in April 1, 2009 through June 30, 2009 – 3rd Anniversary Celebration!
(Note: data transfer in will return to its normal price of $0.100 per GB on July 1)
Requests
* $0.01 per 1,000 PUT, COPY, POST, or LIST requests
* $0.01 per 10,000 GET and all other requests*
Basically you just use their API to send the data to them (images, files, whatever), They store it, and can serve it up directly to users. Here's an example from my twitter page:
http://s3.amazonaws.com/twitter_prod...oto_normal.jpg
We've used it where I work and it works pretty well.