gpt4 book ai didi

node.js - 解压缩文件不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 22:35:26 25 4
gpt4 key购买 nike

我正在使用来自

的以下代码

https://github.com/cthackers/adm-zip/wiki/ADM-ZIP-Introduction

我需要的是从请求中获取一个 zip 文件(我使用 express 并且我有请求和响应)我需要将它提取(解压缩)到某个路径(在示例中我的本地驱动器),我应该把请求放在哪里以及我在这里缺少什么才能让它工作

  fn: function (req, res) {
var admZip = require('adm-zip');

var zip = new admZip();

zip.addLocalFile("C://TestFolder//TestZip");

在请求正文中我正在获取 zip 文件(我使用 postman ,在正文中我使用二进制文件并选择一个 zip 文件)

最佳答案

请试试我的代码片段:

有关一些信息,我的应用程序结构如下所示:

my path --> C:\xampp\htdocs\service

service
|
-- tmp\
|
-- app.js
|
-- index.html

客户端:

<html>
<body>
<h3>ZIP Upload:</h3>
<form action="/upload_zip" method="POST" enctype="multipart/form-data">
Select zip to upload:
<input type="file" name="zipFile" id="zipFile">
<input type="submit" value="Upload ZIP" name="submit">
</form>
</body>
</html>

服务器端:

当你使用 postman 或类似的东西发布它时,不要忘记使用 enctype="multipart/form-data"...

var express = require("express");
var fs = require("fs");
var AdmZip = require('adm-zip');
var app = express();

var multer = require("multer");
var multer_dest = multer({dest: "./tmp"}).single('zipFile');

app.get("/",function(req,res){
console.log("Show index.html");
res.sendFile(__dirname+"/"+"index.html");
});

app.post("/upload_zip",multer_dest,function(req,res){
console.log(req.file);
var zip = new AdmZip(req.file.path);
zip.extractAllTo("./tmp");
result = {
file:req.file,
message:"File has been extracted"
};
fs.unlink(req.file.path, function (e) {
if (e) throw e;
console.log('successfully deleted '+req.file.path);
});
res.end(JSON.stringify(result));
});

var server = app.listen(8081,function(){
var host = server.address().address;
var port = server.address().port;

console.log("Example App Listening at http://%s:%s",host,port);
})

输出:

enter image description here

关于node.js - 解压缩文件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33982876/

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