首页 > 代码库 > node.js form 上传
node.js form 上传
安装formidable
pm install formidable@latest
客户端表单提交
<form class="form-signin" role="form" method="post" enctype=‘multipart/form-data‘> <h2 class="form-signin-heading">上传文件</h2> <input id="fulAvatar" name="fulAvatar" type="file" class="form-control" /> <br/> <button id="btnSub" class="btn btn-lg btn-primary" type="submit">上 传</button> </form>
服务端指定路由规则
router.post(‘/upload‘, function(req, res) { var form = new formidable.IncomingForm(); //创建上传表单 form.encoding = ‘utf-8‘; //设置编辑 form.uploadDir = ‘public‘ + AVATAR_UPLOAD_FOLDER; //设置上传目录 form.keepExtensions = true; //保留后缀 form.maxFieldsSize = 2 * 1024 * 1024; //文件大小 form.parse(req, function(err, fields, files) { if (err) { res.locals.error = err; res.render(‘index‘, { title: ‘TITLE‘ }); return; } console.log(fields); var extName = ‘‘; //后缀名 switch (files.fulAvatar.type) { case ‘image/pjpeg‘: extName = ‘jpg‘; break; case ‘image/jpeg‘: extName = ‘jpg‘; break; case ‘image/png‘: extName = ‘png‘; break; case ‘image/x-png‘: extName = ‘png‘; break; } if(extName.length == 0){ res.locals.error = ‘只支持png和jpg格式图片‘; res.render(‘index‘, { title: TITLE }); return; } var avatarName = Math.random() + ‘.‘ + extName; var newPath = form.uploadDir + avatarName; console.log(newPath); fs.renameSync(files.fulAvatar.path, newPath); }); res.render(‘upload‘, { title: ‘Upload Demo‘ }); });
node.js form 上传
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。