Charge for storage and bandwidth. Providers like AWS S3 are doing fine with that model.
E: not bandwidth, data transfer
And this is exactly why S3 is meant for developers. The average person does not want to think about limits they cannot control, like a burst in viewership for an image they uploaded.