跳到主要内容
CNode

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

问答
KKastino发布于 10 年前
023990

我在用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看的好累。。。

查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。

参与回复

登录后即可参与回复。登录