【发布时间】:2018-07-09 11:40:03
【问题描述】:
我尝试找到可以发送 zip 的示例(例如通过邮递员)
并在我的处理程序中获取此 zip 并 解压缩 指定文件夹
我没有找到太多使用express 进行压缩的示例
我想解压到路径web/app
我尝试了以下对我不起作用的方法,zip 文件没有解压缩到指定的文件夹中,知道我做错了什么吗?
https://nodejs.org/api/zlib.html#zlib_zlib
var zlib = require('zlib');
var fs = require('fs');
const dir = path.join(__dirname, 'web/app/');
if (req.file.mimetype === 'application/zip') {
var unzip = zlib.createUnzip();
var read = fs.createReadStream(req.file);
var write = fs.createWriteStream(dir);
//Transform stream which is unzipping the zipped file
read.pipe(unzip).pipe(write);
console.log("unZipped Successfully");
}
任何工作示例都会非常有帮助,或者参考我哪里有问题...
调试时我看到这是代码失败的时候
var read = fs.createReadStream(req.file);
知道为什么吗?
我也试过
var read = fs.createReadStream(req.file.body);
我没有看到错误、原因等的问题。
当我把它改成
var read = fs.createReadStream(req.file.buffer);
程序没有退出,我能够运行它,直到记录器 console.log("unZipped Successfully"); 但什么也没发生......
如果有 https://www.npmjs.com/package/yauzl 的任何示例 yauzl 和 multer 在我的上下文中,它会很棒
更新-这是邮递员的请求
【问题讨论】:
-
接收文件总是有点麻烦。也许您可以尝试保存文件并使用 gui 打开它以进行调试?你可能会得到有价值的信息。一步到位
-
这很容易使用操作系统脚本。你没有指定任何限制,有吗?
标签: javascript node.js express zip