From: Aleksey Filippov Date: Mon, 16 Mar 2026 13:17:43 +0000 (+0300) Subject: fix(ERP-257): graceful fallback для HEIC-файлов, которые уже являются JPEG X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=fea21f750b913b04af52def0ba3d5aa1810fbeac;p=erp24_rep%2Fyii-erp24%2F.git fix(ERP-257): graceful fallback для HEIC-файлов, которые уже являются JPEG iPhone иногда сохраняет JPEG с расширением .HEIC. Библиотека heic2any бросала ERR_USER вместо того, чтобы пропустить файл. Теперь при ошибке "already browser readable" файл передаётся как есть с корректным расширением. --- diff --git a/erp24/web/js/heic_to_jpg_replace.js b/erp24/web/js/heic_to_jpg_replace.js index 927ff7e6..1e1c765a 100644 --- a/erp24/web/js/heic_to_jpg_replace.js +++ b/erp24/web/js/heic_to_jpg_replace.js @@ -42,6 +42,15 @@ $(document).on('change', 'input[type=file]', function (e) { }); }) .catch(function (x) { + // Файл с расширением .HEIC, но внутри уже JPEG/PNG (iPhone) + // — пропускаем конвертацию, просто переименовываем + if (x.code === 1 && /already browser readable/i.test(x.message)) { + var ext = (x.message.match(/image\/(jpeg|png|webp)/i) || [null, 'jpeg'])[1]; + return new File([file], file.name + "." + ext, { + type: "image/" + ext, + lastModified: new Date().getTime() + }); + } alert("Ошибка конвертации HEIC: " + file.name + ". " + x.code + " - " + x.message); return null; })