Что-то в алгоритме загрузки кропнутого изображения не так.
Должно быть:
1)
<input type="file"...
откуда можно взять переменную для передачи файла
2) плагин для кропа, который должен вернуть координаты выделения
Эти данные и отправляются на сервер.
А чтобы кропать можно было по изображению без загрузки на сервер - javascript-овый FileReader в помощь.
Вот пример (немного говнокода, но в целом понятно):
- frontend: с 215-й строки
https://github.com/kryoz/sociochat/blob/master/www...
- backend:
https://github.com/kryoz/sociochat/blob/master/www...
Ваш же подход связан с гемором разбора данных на серверной стороне. Лучше использовать штатные инструменты.