我在做上传消息的时候
exports.upload = function (req,res) {
mongodbPool.acquire(function(err,db){
if(err){
return res.josn(400,{'err':'acquire db failed'});
}
var gridform = require('gridform');
gridform.db = db;
gridform.mongo = mongo;
var form = gridform();
form.parse(req, function (err, fields, files) {
if(err){
mongodbPool.release(db);
return res.json(400,err);
}
if(files.starVoiceMessage === undefined || fields.star_id === undefined){
var grid = new Grid(db, 'fs');
for(var key in files){
grid.delete(files[key].id, function(err, result){
if(err){
//the useless file data can not be delete, its id need to record in error log
uploadErrorLogfile.write('file need to delete: '+files[key].id);
}
});
}
mongodbPool.release(db);
return res.json(400,{'err':'wrong format'});
}
程序能运行出正确的结果,但每一次第一次解析时files.starVoiceMessage 就为 undefined点第二次的时候就能正常解析,为什么出现这种情况?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。