Nodejs 如何解析获取到的 multipart/form-data 数据?

发布于 1周前 作者 caililin 来自 nodejs/Nestjs

Nodejs 如何解析获取到的 multipart/form-data 数据?

用 axios get 方式,返回的是 multipart/form-data ,有什么办法能解析这数据? multer 行不行?

6 回复

返回 multipart/form-data 是什么操作?我还真没见过

fetch 的 response 对象,有个 formData()方法,可以试试看。

在Node.js中,解析multipart/form-data数据通常使用multer这个中间件。multer提供了方便的方法来处理文件上传以及解析表单数据。以下是一个简单的示例,展示了如何使用multer来解析multipart/form-data数据。

首先,你需要安装multer

npm install multer

然后,你可以在你的Node.js应用中使用它,如下所示:

const express = require('express');
const multer = require('multer');
const app = express();

const upload = multer({ dest: 'uploads/' }); // 设置上传文件的存储路径

app.post('/upload', upload.single('file'), (req, res) => {
    // req.file 是上传的文件信息
    // req.body 包含表单中的其他字段
    console.log(req.file); // 打印上传的文件信息
    console.log(req.body); // 打印表单中的其他字段
    res.send('File uploaded successfully');
});

app.listen(3000, () => {
    console.log('Server started on port 3000');
});

在这个例子中,upload.single('file')表示我们期望接收一个名为file的文件字段。multer会自动将文件保存到uploads/目录,并将文件信息存储在req.file中,同时将表单中的其他字段存储在req.body中。

确保你的表单在前端正确设置了enctype="multipart/form-data",并且文件字段的名称与你在multer中指定的名称相匹配。

回到顶部