"выгрузку файла" это вы о каком направлении? На сервер или с сервера.
Если с сервера в браузер, то возможно скачать только в страницу без возможности сохранения на диск, если хотите на диск, то это уже будет скорее всего без возможности докачки, как разработчики браузера решили.
" Я считаю хранить в базе mysql каждую картинку и вместе сней её размеры."
Плохо.
1. У MySQL есть проблемы с таблицами, где помимо blob есть и другие поля. (Сталкивался с этим)
2. Проблематичнее делать бекапы базы, т.к. она сильно разрастется.
Добавлю:
Хранить картинки еще лучше на диске, так как в этом случае можно задействовать кеширование web сервера.
При GET запросе вы можете отправить примерно 1-2 Кбайта.
Для POST запросов ограничения нет, если только на принимающем сервере не установлены ограничения по размеру сообщения.