为了账号安全,请及时绑定邮箱和手机立即绑定

文件上传multer能接收到的文件对象为什么formidable会解析成fields对象呢

文件上传multer能接收到的文件对象为什么formidable会解析成fields对象呢

爱偷懒的小码农 2018-09-08 15:49:08
/*var multer  = require('multer');var upload = multer({ storage: storage });router.post('/', upload.single('file'), function(req, res, next) {        console.log('文件',req.body.file);}*/而使用formidable来解析var formidable = require('formidable');var form = new formidable.IncomingForm();    //缓存路径    form.uploadDir = "./temp";    form.keepExtensions = false;    //回调函数的files参数将会是一个file数组    form.multiples = true;    form.parse(req,function(err, fields, files){        //console.log('req',req);        //if(err) return next(err);        console.log(err,JSON.stringify(fields),files);    }打印出的数据为    null '{"file":"[object HTMLInputElement]"}' {}为什么会解析成files对象呢,求教大佬。html:<input type="file" /> <a href="javascript:void(0)">提交</a>var Input = document.querySelector("input"); var A = document.querySelector('a'); A.onclick = function(){     // 创建一个FormData对象,用来组装一组用 XMLHttpRequest发送请求的键/值对     var fd = new FormData();     fd.enctype = "multipart/form-data";     fd.append('file', Input);     // Ajax     var request = new XMLHttpRequest();     request.open("POST", "/index",true);     //request.setRequestHeader("Content-type","application/form-data");     request.send(fd);     request.onreadystatechange = function(){         if(request.readyState === 4 & request.status === 200){             console.log("上传成功");             var response = JSON.parse(request.responseText);             console.log(response);         }     }}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1770 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信