在node-formidable上的文档看到可以这样来限制上传大小
form.maxFieldsSize = 2 * 1024 * 1024;
但是我代码这样子写,依旧是没有限制到上传的大小,现在不管多大都能上传。求指导。谢谢!
router.post('/up', function (req, res) {
var form = new formidable.IncomingForm();
form.encoding = 'utf-8';
form.uploadDir = 'public/images/';
form.keepExtensions = true;
form.maxFieldsSize = 2 * 1024;
console.log(form);
form.parse(req, function (err, fields, files) {
console.log(fields);
console.log(files);
if (err) {
return console.log(err);
}
var extName = '';
switch (files.img.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) {
// return console.log("no img");
}
var imgName = uuid.v1() + extName;
var newPath = form.uploadDir + imgName;
console.log(newPath);
fs.renameSync(files.img.path, newPath);
console.log("ok");
res.end(util.inspect({fields: fields, files: files}));
});
form.on('fileBegin', function (name, value) {
console.log('....');
console.log(name);
console.log('....');
console.log(value);
});
form.on('end', function () {
console.log("en");
});
form.on('error', function (err) {
console.log(err);
console.log("error");
});
form.on('file', function (name, file) {
console.log("```````");
console.log(name);
console.log(file);
});
form.on('progress', function (bytesReceived, bytesExpected) {
var percent = Math.floor(bytesReceived / bytesExpected * 100);
console.log(percent);
});
});