我试图从Node.js中的JSON对象创建.zip
文件。我使用adm-zip to do that但是我无法使其与此代码的工作:使用adm-zip从JSON对象创建zip文件
var admZip = require('adm-zip');
var zip = new admZip();
zip.addFile(Date.now() + '.json', new Buffer(JSON.stringify(jsonObject));
var willSendthis = zip.toBuffer();
fs.writeFileSync('./example.zip', willSendthis);
此代码创建example.zip
,但我不能够提取它,我试图用一个.zip
提取也与此代码:
var admZip = require('adm-zip');
var zip = new admZip("./example.zip");
var zipEntries = zip.getEntries(); // an array of ZipEntry records
zipEntries.forEach(function(zipEntry) {
console.log(zipEntry.data.toString('utf8'));
});
它在与console.log
行返回Cannot read property 'toString' of undefined
。
我可以用zip.writeZip()
这个例子,但我发送.zip
文件到Amazon S3因此,我需要使用方法.toBuffer()
使用adm-zip
后做这样的事情:
var params = {Key: 'example.zip', Body: zip.toBuffer()};
s3bucket.upload(params, function(err, data) {...});
我不看看有什么不对,我是否正确使用软件包?
您可以阅读'example.zip' JSON文件写入磁盘之后? – hassansin