nodejs接收formdata
时间: 2023-10-02 19:07:08 浏览: 95
在 Node.js 中接收 FormData,需要使用一个第三方库,比如 `formidable` 或 `multer`。
以下是使用 `formidable` 库接收 FormData 的示例代码:
```javascript
const http = require('http');
const formidable = require('formidable');
const server = http.createServer((req, res) => {
if (req.url === '/upload' && req.method.toLowerCase() === 'post') {
const form = formidable({ multiples: true });
form.parse(req, (err, fields, files) => {
if (err) {
console.error(err);
res.statusCode = 500;
res.end('Error occurred during upload.');
return;
}
console.log({ fields, files });
res.statusCode = 200;
res.end('Upload successful.');
});
} else {
res.statusCode = 404;
res.end('Not found.');
}
});
server.listen(3000, () => {
console.log('Server listening on http://localhost:3000 ...');
});
```
在上面的代码中,我们创建了一个 HTTP 服务器,并监听 `/upload` 路径的 POST 请求。当接收到请求时,我们创建了一个 `formidable` 实例,并使用 `form.parse()` 方法解析请求体中的 FormData。解析完成后,我们可以通过 `fields` 和 `files` 参数获取 FormData 中的字段和文件信息。最后,我们返回一个成功的响应。
希望这个示例可以帮助到你!
阅读全文