使用busboy处理字段错误(如果有字段错误则阻止提交文件)
Handling a field error using busboy (prevent submission of file if there is a field error)
我正在使用 busboy 按照以下代码中描述的方式上传文件。如果现场阶段出现验证错误,我不想处理文件(即不想上传文件),不确定我该怎么做...因为 on file
和 on field
异步触发
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// upload file
busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
if (val == null) {
res.render("error meessage on page please enter a value")
}
});
busboy.on('finish', function() {
console.log('Done parsing form!');
});
req.pipe(busboy);
var fieldError = false;
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// upload file
file.on('error', function (err) {
});
})
busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
if (val == null) {
fieldError = true;
}
});
busboy.on('finish', function() {
console.log('Done parsing form!');
if(fieldError)
res.render("error meessage on page please enter a value")
});
busboy.on('error', function (err) {
//
});
req.pipe(busboy);
注意:为了使小卖部健壮,请添加busboy.on('error')和file.on('error')。这对你的问题来说是额外的。
我正在使用 busboy 按照以下代码中描述的方式上传文件。如果现场阶段出现验证错误,我不想处理文件(即不想上传文件),不确定我该怎么做...因为 on file
和 on field
异步触发
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// upload file
busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
if (val == null) {
res.render("error meessage on page please enter a value")
}
});
busboy.on('finish', function() {
console.log('Done parsing form!');
});
req.pipe(busboy);
var fieldError = false;
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// upload file
file.on('error', function (err) {
});
})
busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
if (val == null) {
fieldError = true;
}
});
busboy.on('finish', function() {
console.log('Done parsing form!');
if(fieldError)
res.render("error meessage on page please enter a value")
});
busboy.on('error', function (err) {
//
});
req.pipe(busboy);
注意:为了使小卖部健壮,请添加busboy.on('error')和file.on('error')。这对你的问题来说是额外的。