formidable模块用于解析表单数据, 尤其是文件上传。它易于使用并集成到你的项目中, 以处理传入的表单数据和文件上载。
formidable模块的安装:
- 你可以访问链接安装formidable模块。你可以使用此命令安装此软件包。
npm install formidable
- 安装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和功能formidable模块:npm install formidable npm install express
使用以下命令运行index.js文件:
node index.js
现在打开
邮差
运行此API并发送示例数据, 如下所示:
如上所示, 我们在正文中传递了两个字段, 一个是type ='Text'的名称, 另一个是type ='File'的profilePic。
现在转到你的上载文件夹, 你的文件被上载, 如下所示:
因此, 这就是你可以使用formidable模块轻松有效地上传文件和处理传入表单数据的方式。