Отправляешь через формату, new FormData, при этом бэкендер должен знать что там формата. А все остальные параметры добавлешь через formdata.append(name, param). Тогда будет полноценная загрузка файла в представлении blob.
Либо же в представлении base64 но это себе же дороже выйдет.
Ошиблись Вы вот тут: i14.value.length // i14.value строка.
Соответственно, Вы смотрите не на число, а на количество введённых в поле ввода символов. Нужно преобразовать в число. Number(i14.value)