Files
drhider/History/2026-08-19-zip-filter-docs.md
T

1.6 KiB
Raw Blame History

v0.0.35 — фильтр документов при раскрытии ZIP — 2026-08-19

Дата: 2026-08-19 Версия: 0.0.34 → 0.0.35 Файл: site/templates/index.html (фронт listZipFiles), site/app.py (версия)


Суть

При раскрытии ZIP в таблицу ранее вытаскивались ВСЕ файлы, включая изображения (WhatsApp jpeg и т.п.). Теперь из ZIP извлекаются только документы:

Разрешённые расширения: .pdf, .doc, .docx, .txt, .md.

Всё прочее (jpeg, png, xls, exe и т.д.) — пропускается. Вложенные ZIP раскрываются рекурсивно, и фильтр применяется и к их содержимому.

Изменение

listZipFiles() в index.html:

const allowedExt = ['.pdf', '.doc', '.docx', '.txt', '.md'];
...
else if (allowedExt.some(ext => low.endsWith(ext))) {
  out.push(new File([e.data], e.name, { lastModified: e.dosMs }));
}
// иначе — не документ, пропускаем

Проверка

  • node --check — OK.
  • Тест на архиве с doc.pdf, old.doc, n.docx, a.txt, r.md, pic.jpeg, pic2.png: извлечены только 5 документов, jpeg/png пропущены — OK.

Вопрос (отложен)

  • Нужно также упомянуть в подсказке на странице требование современного браузера (DecompressionStream: Chrome 103+, Safari 16.4+, Firefox 113+).