@gifon

Как фильтровать файлы на drag and drop в input type file?

Привет, у меня есть
я получаю файл событием ondrag но как фильтровать fileList на accept
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 2
SeaInside
@SeaInside
15 лет пилю все эти штуки
Вот здесь можно найти утилитарную функцию, которая это сделает.

Дальше проще:

import { verifyAccept } from '@morev/utils';

const ACCEPT = 'image/*, .pdf';

const onFilesChange = (event) => {
  const verifiedFiles = [...event.target?.files || []]
    .filter((file) => verifyAccept(file.type, ACCEPT));

  // Делаете с ними, что вам там нужно 
}
Ответ написан
TheK0tYaRa
@TheK0tYaRa
Я обязательно устроюсь на работу...
Попробуй что-то такое:

dropZone.addEventListener('dragenter', (event) => {
  const item = event.dataTransfer.items[0];
  const type = item.type;

  // Check if the item type matches the filter criteria
  if (type === 'image/png' || type === 'image/jpeg') {
    // Allow the item to be dropped
    dropZone.classList.add('drag-over');
  } else {
    // Prevent the item from being dropped
    event.preventDefault();
  }
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы