Я использую Dropzone с Angular через ngx-dropzone-wrapper.
Я не использую загрузку напрямую из Dropzone, я просто позволяю ей собирать файлы и затем обрабатывать их в своем коде .
Мне нужно ограничить количество файлов до 1. Поэтому я установил config.maxFiles = 1
. Действительно, теперь диалог открытия файла позволяет выбрать только один файл. Но проблема в том, что Dropzone не заменяет предыдущий файл! Вместо этого он добавляет новый файл в свою коллекцию файлов с флагом accept = false (скорее всего, потому что был достигнут maxFiles). Это не то, что я ожидал. Мне нужно config.maxFiles = 1
, чтобы удалить старый файл, добавить новый и принять его.
Итак, я должен позвонить removeAllFiles(true)
, чтобы поддержать мои требования. Но я не могу найти обработчики событий, которые запускаются сразу после того, как пользователь выбрал файл и до того, как Dropzone попытается его обработать.
Итак, как мне реализовать следующее требование:
- пользователь может выбрать только один файл за раз
- , если пользователь допустил ошибку и хочет выбрать другой файл, новый файл должен заменить ранее выбранный
?