Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

通过formidable上传文件时有些文件不经过parse过程。

$
0
0

我在用formidable上传一些类型没有包括在file.type里的一些文件(比如moc文件)时会不经过on过程和parse过程 但是上传可以成功 我的路由里面代码是这样的

		res.locals.success="";
		res.locals.error="";
		var form = new formidable.IncomingForm();   //创建上传表单
		form.encoding = 'utf-8';		//设置编辑
		form.uploadDir = './upload/';	 //设置上传目录
		form.keepExtensions = true;	 //保留后缀
		form.maxFieldsSize = 10 * 1024 * 1024;   //文件大小
		form.on('file',function(name,file){console.log("Admin has just uploaded an "+file.type+" file.");});	//控制台输出文件类型
			console.log('1');
		form.parse(req, function(err, fields, files) {
			console.log('2');
		if (err) {
			res.locals.error = err;
			res.render('account', { title: '用户中心' ,success:"" ,err:res.locals.error});
			return;		
		}  
		var extName = files.upfile.name.split('.')[files.upfile.name.split('.').length-1];
		console.log(files.upfile.name);
		var avatarName = files.upfile.name.split('.')[0] + '-' + Date.now() + '.' + extName;
		console.log(avatarName);
		var newPath = form.uploadDir + avatarName;
		fs.renameSync(files.upfile.path, newPath);  //重命名
		});
		console.log('3');
		res.locals.success = '上传成功';
		res.render('account', { title: '用户中心' ,success:res.locals.success ,err:""});

执行后控制台可以看到1和3然后上传文件夹里有一个随机数+后缀的文件 我想把这些文件也纳入parse的重命名应该怎么做? 英语没过6级github看的好累。。。


Viewing all articles
Browse latest Browse all 14821

Trending Articles