Tag: zip

可以在一个zip文件中读取整个文件夹的内容吗?

我正在使用adm-zip阅读文件和解压zip文件夹。 但我有另一个要求读取zip文件中的整个文件夹并复制到另一个位置。 可能吗? 我看到有布尔标志来检测文件夹。 任何想法 ?

创build并发送Zip文件 – NODE JS

我试图创build,然后发送zip文件到客户端。 我知道如何创build它,但发送给客户端时遇到问题。 我尝试了很多方法。 我正在发送来自客户端的POST请求,并作为响应我想发送一个文件。 这是我的服务器站点示例代码 var Zip = require('node-zip'); router.post('/generator', function(req, res, next) { var zip = new Zip; zip.file('hello.txt', 'Hello, World!'); var options = {base64: false, compression:'DEFLATE'}; fs.writeFile('test1.zip', zip.generate(options), 'binary', function (error) { console.log('wrote test1.zip', error); }); res.setHeader('Content-disposition', 'attachment; filename=test1.zip'); res.download('test1.zip'); } }); 我也尝试过这样的事情: res.setHeader('Content-disposition', 'attachment; filename=' + filename); res.setHeader('Content-type', mimetype); var filestream = […]

使用内置模块压缩文件夹

编辑 – >有人可以build议编辑我的答案,例如我不知道如果exec更好或spawn ? 是否有可能使用zlib和其他内置模块压缩目录/文件夹的内容? 我正在寻找一种方法来做到这一点,而无需外部依赖。 另一个select是在mac,windows等上运行本地进程,用于zip,tar等,我确定在任一操作系统上都有命令行实用程序 这不是一个答案,但它与我正在寻找什么有关,它产生了一个本地进程压缩。 我正在看的另一个链接 。 unix命令为zip | exec和产卵 我在terminal上试过的命令, / usr / bin / zip test.zip / resources / html / article du -hs test.zip 码 var zip = function(path) { const spawn = require('child_process').spawn; const exec = require('child_process').exec; exec("which zip", function (error, stdout, stderr) { if (error) { console.log(error); […]

Nodejs:parsingCSV和Zip的性能问题

这些文件被提交给我的服务器,我试图确定CSV是否有效,以及从CSV引用的所有图像都存在于zip中。 我必须使用所有这些信息来填充Mongo数据库,但是我想在后台执行此操作,并尽可能快地向客户端发送响应。 所以我有两个可读的stream,我有三种不同的方法: 解压文件需要24秒,所以解压缩csv + fs.exists不是一个选项。 parsing整个csv,保存数组中的文件名,然后使用node-unzip和pipe读取zip需要5秒钟。 读取csv并行读取zip并使用共享数组同时确定文件是否存在,这是最快的选项,需要4秒钟。 有没有人有一个想法如何更快地做到这一点? 编辑 :用于validation的代码是: // lib/validator.js function validateParallel(csv, zip) { const shared = {}; return new Promise((resolve, reject) => { const l = CSV_VALIDATORS.length – 1; csv .pipe(split()) .pipe(through2(validateLine.bind({ zip, reject, n: 0, l, shared }))) .on('finish', () => { zip .pipe(unzip.Parse()) .on('entry', (entry) => { delete shared[entry.path]; […]

在上传到S3的过程中,ZIP文件被破坏

我使用node.js和knox的putFile将一个zipfile upload到S3。 原来的压缩文件打开,从S3的压缩下载是腐败的。 以下是我正在使用的相关代码: var client = knox.createClient({ key: 'MY KEY HERE', secret: 'MY SECRET HERE', bucket: 'MY BUCKET HERE' }); var filename = 'example.zip'; var req = client.putFile(filename, filename, { 'x-amz-acl': 'public-read' }, function(err, res){ if (res.statusCode == 200) { console.log('moved '+filename+' to s3'); } else { console.log('failed to move to s3'); } }); […]

从当前文件夹的Zip应用程序

我有node.js应用程序,我需要压缩所有当前的文件夹与命令从获得根压缩 为此,我想使用archiver npm包但我不明白以下内容: 在那里我把目前的文件夹(因为我想压缩所有的应用程序) 我应该在哪里放置zip的名称(执行命令时应该创build的zip) 我的应用程序有以下结构 MyApp Node_modules server.js app.js package.json arc.js 在arc.js我已经把所有的压缩逻辑,所以我想我需要提供zipPath(在我的情况下是'./')和zip名称像myZip … 我尝试了以下没有成功,任何想法? var fs = require('fs'); var archiver = require('archiver'); // create a file to stream archive data to. var output = fs.createWriteStream(__dirname + '/.'); var archive = archiver('zip', { zlib: { level: 9 } // Sets the compression level. }); // […]

客户端下载一个服务器生成的zip文件

在有人说“重复”之前,我只想确定一下,那些人知道我已经回顾了这些问题: 1)使用angular度和PHP,不知道这里发生了什么(我不知道PHP): 下载压缩文件,并从angular度的方法触发“保存文件”对话框 2)不能得到这个答案做任何事情: 如何使用angular度下载一个zip文件 3)这个人已经可以下载,这是过去的点,我试图找出: 下载外部压缩文件从触发angularbutton操作 4)没有答案: 从nodejs服务器下载.zip文件 5)我不知道甚至是什么语言: https : //stackoverflow.com/questions/35596764/zip-file-download-using-angularjs-directive 鉴于这些问题 ,如果这仍然是重复的,我很抱歉。 这是这个问题的另一个版本。 我的angular度1.5.X客户端给我一个标题列表,其中每个标题都有一个关联的文件。 我的节点4.X / Express 4.X服务器获取该列表,获取文件位置,使用来自npm的express-zip创build一个zip文件,然后将该文件传回给响应。 然后我希望我的客户端启动浏览器的“下载文件”选项。 这是我的客户端代码(Angular 1.5.X): function bulkdownload(titles){ titles = titles || []; if ( titles.length > 0 ) { $http.get('/query/bulkdownload',{ params:{titles:titles}, responseType:'arraybuffer' }) .then(successCb,errorCb) .catch(exceptionCb); } function successCb(response){ // This is the part I believe I […]

node.js压缩ZIP到内存

我想压缩一些数据到一个writableStream。 目的是在内存中完成所有操作,而不是在磁盘上创build实际的zip文件。 仅用于testing,我在磁盘上创build一个ZIP文件。 但是,当我尝试打开output.zip我得到以下错误:“存档是在未知的格式或损坏”。 (Windows 7的WinZip,MAC也有类似的错误) 我究竟做错了什么? const fs = require('fs'), archiver = require('archiver'), streamBuffers = require('stream-buffers'); let outputStreamBuffer = new streamBuffers.WritableStreamBuffer({ initialSize: (1000 * 1024), // start at 1000 kilobytes. incrementAmount: (1000 * 1024) // grow by 1000 kilobytes each time buffer overflows. }); let archive = archiver('zip', { zlib: { level: 9 } […]

在node.js中生成一个受密码保护的ZIP文件

我需要在node.js中创build一个由密码保护的ZIP文件。 我正在使用“node-zip”模块,但不幸的是不支持密码保护: var zip = new require('node-zip')(); zip.file('test.file', 'hello there'); var data = zip.generate({base64:false,compression:'DEFLATE'}); 寻找其他节点模块来创buildZIP文件,我还没有发现任何支持密码保护。

Node.js jszip库来提取

我正在写一些节点代码,并使用jszip压缩和解压缩一些文件。 我知道如何压缩,但不知道如何解压缩或解压缩。 有几个链接在stackoverflow不起作用。 任何人都有解决办法? 以下是我所尝试过的 var fs = require('fs'); var JSZip = require('jszip'); var zipName = "C:/test.zip"; var unzip = "C:/unzip"; fs.readFile(zipName, function (err, data) { if (err) throw err; var zip = new JSZip(); zip.folder(unzip).load(data); });