Adm-Zip zippen von Dateien als Verzeichnisse
Ich versuche, pack-Dateien in eine zip-Datei mit Adm-Zip
var AdmZip = require('adm-zip');
var pathToZip = 'build/release/Ext.zip';
var zip = new AdmZip();
zip.addLocalFile('background.js');
zip.addLocalFile('chrome_ex_oauth.html');
zip.addLocalFolder('images');
zip.writeZip(pathToZip);
Jedoch, alle Dateien werden Hinzugefügt bekommen als Ordner innerhalb der zip-und der eigentliche Inhalt ist nicht immer RV.
Erste Schritte Referenz unten und dies scheint ein sehr einfaches Beispiel, das nicht wie erwartet funktioniert. Was mache ich falsch?
https://github.com/cthackers/adm-zip/wiki/ADM-ZIP-Introduction
- 1.5 Jahre später und ich bin mit dem gleichen Problem...
Du musst angemeldet sein, um einen Kommentar abzugeben.
So, ich habe einige Graben:
https://github.com/cthackers/adm-zip/blob/master/adm-zip.js#L275
addFile ist letztlich aufgerufen addLocalFile, und das scheint zu sein, wo der Fehler Auftritt, die speziell auf Linie 281, wo es überprüft, ob die ZipEntry ist ein Verzeichnis. Die falschen flags werden immer angewendet.
Um dies zu umgehen, landete ich aufrufen addFile manuell angegeben und die Attribute selbst, so dass es würde nicht verlassen sich auf die automatische Erkennung und falsch-flag-Dateien wie Verzeichnisse.
Bekommen einen fileBuffer sich selbst, die Sie verwenden können, fs.readFile oder fs.readFileSync
Aus der wiki von adm-zip:
Fügt eine Datei von der Festplatte ins Archiv.
Wird ein lokales Verzeichnis und alle darin enthaltenen Dateien und Verzeichnisse in das Archiv
Als es scheint, Sie verpassen den zweiten parameter, der die zipPath.