If you can make your images publicly available, I would recommend saving the images in a different (and probably cheaper) storage than your database, for example, S3.
But if your images should be private storing them in the database, this is not the worst option, but you need to process them in your code.
If you use the mysql5.6 and Barracuda formats (this is most common these days), then from the MySQL point of view, to store BLOB columns on a disk, you need to store 2 data instead of two, and the BLOB and TEXT columns are stored on the main data page.
You can learn more about this Percona Blog Entry
source share