В браузере при загрузке фотографии у пользователей всплывает ошибка: "Не удалось завершить операцию (недостаточно памяти)"
Создал веб-приложение на Angular 17 для загрузки пользователями фотографий с камеры телефона. У пользователей с Android часто возникает ошибка "Не удалось завершить операцию (недостаточно памяти)" (см. Скриншот). Временно помогает ошибка кэша, но это не панацея и непонятно, почему она возникает на новых, мощных устройствах. Изображения мы сжимаем до 200Кб, на вход они поступают не больше 7Мб. Как решить проблему капитально? Что бы пользователи что-то поменяли в настройках или нам как-то пометить, что файл в кэше хранить не надо?
Логика загрузки изображений:
HTML:
<mat-card-actions>
<button mat-raised-button class="button" *ngIf="isContractors" (click)="openCameraAfter()">
Прикрепить
</button>
<input type="file" accept="image/*" capture="environment"
(change)="onFileSelected($event, true)" #fileInputAfter style="display: none">
</mat-card-actions>
TS:
onFileSelected(event: any, flag: boolean) {
const file = event.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = () => {
const base64result = reader.result as string;
this.takeExifData(base64result, flag, 0)
};
reader.readAsDataURL(file);
}
}