如何使用 Node.js 中强大的模块上传文件?
Formidable 模块用于解析表单数据,尤其是文件上传。它易于使用并集成到您的项目中,用于处理传入的表单数据和文件上传。
强大的模块安装:
- 您可以访问链接安装强大的模块。您可以使用此命令安装此软件包。
npm install formidable
- 安装强大的模块后,您可以使用命令在命令提示符下检查您的 yargs 版本。
npm version formidable
- 之后,您可以创建一个文件夹并添加一个文件,例如 index.js,要运行此文件,您需要运行以下命令。
node index.js
文件名:index.js
const express = require('express');
const fs = require('fs');
const path = require('path')
const formidable = require('formidable');
const app = express();
app.post('/api/upload', (req, res, next) => {
const form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files){
var oldPath = files.profilePic.path;
var newPath = path.join(__dirname, 'uploads')
+ '/'+files.profilePic.name
var rawData = fs.readFileSync(oldPath)
fs.writeFile(newPath, rawData, function(err){
if(err) console.log(err)
return res.send("Successfully uploaded")
})
})
});
app.listen(3000, function(err){
if(err) console.log(err)
console.log('Server listening on Port 3000');
});
运行程序的步骤:
- 项目结构将如下所示:
注意:“上传”是上传文件的文件夹。 - 确保您已使用以下命令安装 express 和强大的模块:
npm install formidable npm install express
- 使用以下命令运行 index.js 文件:
node index.js
- 现在打开 POSTMAN 运行此 API 并发送示例数据,如下所示:
在 body 中,我们传递了 send 两个字段,一个是 type='Text' 的名称,另一个是 type='File' 的 profilePic,如上所示。 - 现在转到您的上传文件夹,您的文件已上传,如下所示:
因此,这就是您可以使用强大的模块轻松有效地上传文件和处理传入表单数据的方式。