node文件上传插件formidable的使用

自express4.x后,express不再提供文件上传的相关操作,但其建议使用中间件,如busboy, multer, formidable, multiparty, connect-multiparty, or pez。官方说明如下

In Express 4, req.files is no longer available on the req object by default. To access uploaded files on the req.files object, use a multipart-handling middleware like busboy, multer, formidable, multiparty, connect-multiparty, or pez.

今天介绍的是formidable的使用:
安装formidable

npm install formidable

引入formidable,并初始化解析器

var form = require("formidable")
 // parse a file upload
var form = new formidable.IncomingForm();

常规设置

//设置文件上传后保存的路径
form.uploadDir = "/my/dir";
//保留原始文件的扩展名
form.keepExtensions = true;

解析表单提交

//express的路由
router.post("/upload",function(req,res,next){
//fields为表单提交时的字段是个json
//files为表单提交时所上传的文件信息的集合通过files.file可以获取所上传文件的较多信息。现在是单文件上传 
form.parse(req,function(err,fields,files){
//为上传的文件重命名:其中files.file.path可以获取文件的上传路径
fs.renameSync(files.file.path,form.uploadDir  +  "/" + files.file.name)
})
//文件上传完成后执行
form.on("end",function(){
})

})

其他属性及方法请参考:
fromidable github地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值