Нам удалось разархивировать, изменить и закрепить файлы с помощью API-интерфейса JSZip и cordova file plugin. Он также должен работать для создания zip с нуля. Существует нет необходимости использовать собственный код для действия zipping (хотя это скорее всего быстрее), только для чтения файлов для zip и записи zip-файла. Следовательно, хорошо использовать javascript API, который не был специально разработан для кордовы.
Процесс Если вы хотите попробовать метод файл плагина JSZip +, вот краткий набросок того, как мы работали с ним:
- Мы используем файл плагин для чтения файлов в двоичном виде. Если вам повезло, что у вас есть только текстовые файлы, вы также можете читать текст, но он менее гибкий. Обратите внимание, что для чтения файлов вам нужно будет получить объект
File
из своего FileEntry
, который потребует перехода в файловой системе с помощью DirectoryEntry
s. Если вы не знакомы с файловым плагином, ознакомьтесь с его документацией, чтобы сделать этот шаг.
- Мы создаем объект JSZip.
- Управляйте объектом JSZip так, как вы хотите. Вы можете создавать папки в zip-файле, добавлять файлы, удалять их, изменять некоторые материалы. Как вы считаете нужным. Их документация дает простые и хорошие примеры.
- Создайте двоичный файл zip с помощью JSZip
JSZip#generate()
, указав тип. Если вы хотите создать с ним фактический файл, мы заметили, что строка и arraybuffer могут быть записаны с помощью метода записи файла плагина (после создания файла) без кода для его преобразования в iOS, но не uint8array (и мы не пытались другие типы поколений).
- Рассматривайте двоичный файл как хотите. Это то же самое, как если бы вы прочитали двоичный код фактического zip.
PS: Файл плагин имеет некоторые устаревшие документы на cordova.apache.org. Хотя примеры в нем могут быть полезными, имейте в виду, что некоторые из них уже недействительны. Например, resolveLocalFileSystemURI()
теперь resolveLocalFileSystemURL()
.
+1 для устаревшего метода (например, resolveLocalFileSystemURI()). Я хорошо знаком с файловым плагином, и по этой причине я просто знаю –