The usage is quite simple: downloadAndUnzip('', 'yourfile.xml')Ĭonsole.log(data) // unzipped content of yourfile.xml in root of archive. I was looking forward this for a long time, and found no simple working example, but based on these answers I created the downloadAndUnzip() function. Reads the whole file (by chunk, which is fine), not just random seeks.Kitchen sink much? Just includes a ton of stuff that's not related to unzipping.Seems to run in serial rather than in parallel.Seems to work in a similar manner to node-stream-zip, but less control.NOTE: To ignore use todrain() instead of entry.pipe() TODO: probably also needs the security checkĮntry.pipe(process.stdout/*fs.createWriteStream('output/path')*/) Var type = entry.type // 'Directory' or 'File' zip.extract() doesn't seem to work (hence I used zip.stream() in my example).Throws strings instead of errors (no stack traces).doesn't have too much senseless hipster or ninja-foo in the code.uses some existing code from a popular library.doesn't include the kitchen sink (i.e.This helps fund future enhancements and updates. If you find CAM UnZip useful we ask that you make a Donation. You may use it for your own personal use free of charge. has examples in normal JavaScript (not compiled) Download CAM UnZip CAM UnZip V5.3.0.0 (1.1 MB) Installer for Windows 11, 10, 8, 7 CAM UnZip is distributed as freeware for personal use.seems to not have to load the whole zip to read entries.can unzip normal files (maybe not some crazy ones with weird extensions).You can easily check this yourself by comparing /\.\./.test(path.relative('./to/dir', path.resolve('./to/dir', entry.name))). Not sure if this checks entry.name for maliciously crafted paths that would resolve incorrectly (such as. ![]() Stream.pipe(fs.createWriteStream(pathname)) Var StreamZip = require('node-stream-zip') Install: npm install -save node-stream-zip ![]() 2nd Pick: node-stream-zipĪntelle's node-stream-zip seems to be the best Works great for completely downloaded file. Update 2020: Haven't tried it yet, but there's also archiver Top Recommendation: yauzl so I've gone through several unzip libraries, read their docs, and tried their examples to try to figure out WTF. However, most libraries appear either to be completely terrible or to have commits recently as just a few months ago. For an ancient and pervasive technology such as unzip I would expect there to exist a fairly popular, mature node.js unzip library that is "stagnant" and "unmaintained" because it is "complete".
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |