21mb is a huge photo file to upload. 5mb is enough resolution to print a decent 11 x 14 photo...and printing is where the lack of pixels will really become visible. For viewing on a fair-sized monitor, 1.0mb is high-res, .5mb about the limit of what will fit on a screen, 640 x 480 (a.k.a. "VGA res") is a little bigger than most pix viewed over the web...and ~180-220kb per image. For a smart phone screen, anything over about 40K has to be scrolled. Keep in mind that standard screen res is still 72dpi. IMHO, uploading a 5mb+ photo is just a waste of time and bandwidth/data allowance.
red69 is right, imho, technology has progressed rapidly. Data storage and camera resolution has gotten dirt cheap. 64gb SDXC cards can be had for $20; it wasn't that many years ago when a 60gb HDD was considered decent size...and the "good quality" youtube videos were at 640 x 480 resolution. FYI, 21mb is enough data to support a little over 60 seconds of video at that res & 30fps(!). Maybe we have become spoiled. OTOH, maybe not; the hosting services have gotten censored greedy, of late.
Best suggestion, save size-reduced copies of pix you wish to upload and the full-res originals for your desktop machine.