在我的网页中,用户应该上传一个压缩文件。压缩文件中有 2 个文件:另一个 zip 文件和一个 txt 文件。在我的服务器上,收到 zip 后,我想解压缩 zip 文件以提取 zip 和 txt 文件,然后将这 2 个文件移动到预定义的文件夹中。我有一段代码可以提取 zip 文件,但数据似乎不正确。首先,当应该只有 1 个 txt 文件时,它解压缩了一个 zip 和 2 个 txt 文件。它创建了一个额外的“未定义”txt 文件。此外,在我的 txt 文件中,它被替换为以下文本,而不是原始数据:'[undefined] [undefined]'。
谁可以帮我这个事?以下是我的代码:
var JSZip = require('JSZip');
fs.readFile( filePath, function(err, data){
if (!err){
var zip = new JSZip();
JSZip.loadAsync(data).then(function(zip){
object.keys(zip.files).forEach(function(filename){
var content = zip.files[filename];
var dest = path + filename;
fs.writeFileSync(dest, content);
});
});
}
});