Проверять поврежденное изображение перед загрузкой с помощью dropzone? - PullRequest
0 голосов
/ 06 марта 2020

Я создал загрузчик изображений для Amazon S3, используя dropzone. Проблема в том, что, как только я начал тестирование и попробовал бросить в него поврежденный jpeg, он загрузится просто отлично, но затем умрет, когда Lambda попытается создать для него миниатюру. Я могу (и буду) добавлять дополнительную обработку ошибок на лямбда-стороне, чтобы иметь дело с форматами, которые не распознается кодом миниатюры, но в этом конкретном случае c сам файл поврежден (усечен до достижения EoF). Я бы предпочел иметь возможность проверять поддерживаемые нами форматы изображений, чтобы убедиться, что файл кажется действительным (не по ошибке), прежде чем даже запускать загрузку потока в Dropzone на amazon S3. то есть, чтобы предупредить пользователя о наличии проблемы с изображением, избегайте любых расходов, связанных с S3 / lambda, и избегайте дополнительной работы со стороны пользователя по удалению поврежденного изображения или устранению дополнительных ошибок. *

Предполагая, что я могу найти какой-то способ в браузере, чтобы обнаружить плохое / поврежденное изображение любого данного формата (в настоящее время мы используем jpg, но хотел бы добавить хотя бы png и, возможно, другой), мне интересно, есть ли способ «проверить» изображение с dropzone до запуска загрузки?

Как и где, когда и как я могу остановить dropzone, пока проверка завершена?

Текущая загрузка Amazon обрабатывается в переопределении 'accept' используя экземпляр новой AWS .S3.ManagedUpload ()

дополнительная информация:

  • в настоящее время, обработчик ошибок предупреждает пользователя о проблеме с созданием эскиза изображения. Поскольку изображения без миниатюр «повторяются» каждый раз, когда загрузчик изображений снова посещает то же самое файловое дерево, эта ошибка будет появляться каждый раз, когда пользователь возвращается в этот каталог, пока не будет удален проблемный файл. Предположительно, при ошибке «поврежденный файл» я мог бы вместо этого скопировать общий значок c, представляющий поврежденное изображение, чтобы избежать повторения этого сообщения при предупреждении пользователя о проблеме с файлом и во избежание повторяющейся ошибки. Но мне также приходится сталкиваться с различными проблемами при преобразовании изображения для обработки такого рода вещей - я бы предпочел заблокировать плохие изображения до того, как они будут загружены.
...