Most implementations are option A.
With option B, you open a whole big can of whoop4ss when you marshall those bits from the database into something that can be displayed on a browser... Also, if the db is down, the images are not available.
I don't think that space is too much of an issue... Terabyte drives are a couple hundred bucks now.
We are implementing with option A because we don't have the time or resources to do option B.