gpt4 book ai didi

javascript - 如何从 Node 中的客户端提取zip

转载 作者:行者123 更新时间:2023-12-02 15:21:10 24 4
gpt4 key购买 nike

我有一个 Node 应用程序,需要从客户端Postman获取一些zip文件并将其解压到我的文件系统中的一个文件夹中,我使用express我做了以下不起作用,

我在这里缺少什么?

我创建了示例 Node 应用程序来模拟该问题。

var express = require('express');
var upload = require('multer')({ dest: 'uploads/' });
var admZip = require('adm-zip');
var app = express();

app.post('/',upload.single('file'),function(req,res){
debugger;
var zip = new admZip(req.file);
zip.extractAllTo("C://TestFolder//TestPathtoExtract", true);
res.send("unzip");

});

var server = app.listen(3001,function(){
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s',host,port);
})

这就是我在 postman 中使用它的方式

enter image description here

如果有其他方法可以使用不同的开源来做到这一点,那就太棒了!我用 https://github.com/cthackers/adm-zip

可以更改为任何其他库

我也找到了这个库,但不知道如何将它与 express 一起使用 https://www.npmjs.com/package/decompress-zip

谢谢!

最佳答案

这是我为 Postman 所做的设置,首先这是我的 form-data 主体

form

现在,在尝试手动设置 multipart/form-data 并完全失败后,我在标题中留下了空白,因此这里没有标题。

headers

这里我做了一对 console.log,其中一个 req.headers 以确保 Postman 发送正确的 multipart/form-data 和另一个 req.file

file

输出看起来不错

enter image description here

编辑:代码。

var express = require('express');
var upload = require('multer')({
dest: 'uploads/'
});
var admZip = require('adm-zip');
var app = express();

app.post('/', upload.single('file'), function(req, res) {
console.log('%c > req.headers test.js [9] <=================================', 'color:blue;', req.headers);
debugger;
console.log('%c > req.file test.js [10] <=================================', 'color:blue;', req.file);
//instead of just req.file I use req.file.path as admzip needs the actual file path
var zip = new admZip(req.file.path);
zip.extractAllTo("/Users/myuser/Desktop/ext", true);
res.send("unzip");

});

var server = app.listen(3001, function() {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});

关于javascript - 如何从 Node 中的客户端提取zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34043569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com