Можно ли заархивировать и отправить локальный (в приложение) каталог, не требуя от пользователя его выбора?

Я пытаюсь создать приложение, которое может получить доступ к каталогу в каталоге приложения, заархивировать его с помощью JSZip и отправить в API одним нажатием кнопки.

Например, скажем, у меня есть каталог Components в каталоге приложения. При нажатии одной кнопки (Развертывание компонентов) приложение должно заархивировать этот каталог с помощью JSZip и отправить его в API. Похоже, что React не может получить доступ к своему собственному каталогу, кроме импорта, а импорт не импортирует каталог, а только один файл. Что мне нужно, так это полный каталог Components со всеми файлами и подкаталогами (и их файлами, подкаталогами и т. д.), заархивированными и удаленными.

Я знаю, что у меня может быть форма и пользователь может загрузить zip-файл, но это дает пользователю слишком много свободы для загрузки всего, что ему нравится — он должен иметь возможность отправлять только этот каталог компонентов (который живет с приложением и может « нельзя изменить без повторного развертывания приложения) на API.

Есть ли у JSZip какие-либо методы, которые могут создать новую заархивированную папку из предоставленного пути к локальному каталогу? Есть ли в React какие-либо функции, которые я могу использовать для загрузки каталога, а не отдельных файлов? Предоставляет ли node.js что-нибудь, что я могу использовать (я не знаком с node.js)? В моем API (написанном на C#) я могу использовать такие вещи, как статические классы System.IO File и Directory, чтобы делать подобные вещи, но я не уверен, что это возможно с React.

Возможно ли это хотя бы отдаленно? Я провел большую часть дня, пытаясь найти способы доступа и управления локальным каталогом с помощью реакции и в основном нарисованных пробелов.

Редактировать: я на какое-то время отложил это в долгий ящик, но в конце концов нашел этот ответ: Необходимо заархивировать весь каталог с помощью Node.js, и это решило мою проблему.


person Callum Lackie    schedule 02.03.2021    source источник
comment
Подходит ли здесь местный термин? Я понимаю, что под локальным подразумевается, что он локальный для пользователя, хотя на самом деле каталог, с которым я хочу взаимодействовать, является удаленным (для пользователя) в том же месте, что и приложение (следовательно, локальным для приложения).   -  person Callum Lackie    schedule 02.03.2021
comment
В настоящее время читаю о модуле fs для node.js, если кто-то знает об этом - это то, что я ищу?   -  person Callum Lackie    schedule 02.03.2021