如何使用jquery验证NodeJSON文件上传
我正在阅读上传的json文件数据,但我需要知道如何在上传或上传后验证文件格式或错误的json格式数据如何使用jquery验证NodeJSON文件上传,jquery,node.js,json,file-upload,Jquery,Node.js,Json,File Upload,我正在阅读上传的json文件数据,但我需要知道如何在上传或上传后验证文件格式或错误的json格式数据 app.post('/upload', function (req, res) { let sampleFile; if (Object.keys(req.files).length == 0) { res.status(400).send('No files were uploaded.'); return; } // console.log('req.files
app.post('/upload', function (req, res) {
let sampleFile;
if (Object.keys(req.files).length == 0) {
res.status(400).send('No files were uploaded.');
return;
}
// console.log('req.files >>>', req.files); // eslint-disable-line
sampleFile = req.files.sampleFile;
uploadPath = __dirname + '/uploads/' + sampleFile.name;
sampleFile.mv(uploadPath, function (err) {
if (err) {
return res.status(500).send(err);
}
// console.log('file', uploadPath);
let rawdata = fs.readFileSync(uploadPath);
var student = JSON.parse(rawdata);
emp = student.employee;
//console.log(emp);
res.render('upload.ejs',{emp:emp,uploadPath:uploadPath});
});
});
我想在上传json数据后验证它,我可以识别json对象或json数组。可能尝试更改以下代码:
let rawdata = fs.readFileSync(uploadPath);
var student = JSON.parse(rawdata);
emp = student.employee;
作为:
好的,我可以检查上传的数据是否仅包含对象或对象数组吗?您可以执行array.isArray(此处传递变量),如果它返回true,则它是数组,否则它不是数组。请将答案标记为已接受并向上投票,如果它对您的原始问题有帮助,谢谢。
let rawdata = fs.readFileSync(uploadPath);
let student;
try {
student = JSON.parse(rawdata);
emp = student.employee;
} catch(e) {
// oops! invalid json found; take possible actions here
}
// continue your rest code here