| | |
| | | // }) |
| | | // ); |
| | | app.use(cors()) |
| | | app.use(express.static('./dist')) |
| | | app.use(express.static('./web')) |
| | | app.use('/uploads', express.static('./uploads')); |
| | | async function LoadModels() { |
| | | await faceapi.nets.faceRecognitionNet.loadFromDisk(__dirname + "/models"); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | async function getDescriptorsFromDB(image) { |
| | | // 从mongodb获取所有的面部数据,并循环遍历每个面部数据以读取数据 |
| | | let faces = await FaceModel.find(); |
| | |
| | | imgs.push(req.files[i].path) |
| | | } |
| | | let label = req.body.label |
| | | console.log('---------------',label) |
| | | let result = await uploadLabeledImages(imgs, label); |
| | | console.log(result) |
| | | console.log('---------------',result) |
| | | if(result===true){ |
| | | |
| | | res.json({code:200, message:"录入成功"}) |
| | | }else{ |
| | | // let result = await getDescriptorsFromDB(File1); |
| | | imgs.forEach(e=>{ |
| | | fs.unlink(e,(err)=>{ |
| | | if(err){ |
| | | console.log('删除失败') |
| | | }else{ |
| | | console.log('删除成功') |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | res.json({code:400, message:"人脸模型录入失败,请重新录入"}) |
| | | |
| | | } |
| | |
| | | app.post("/check-face",upload.single('file'), async (req, res) => { |
| | | console.log(req.file) |
| | | const File1 = req.file.path; |
| | | let result = await getDescriptorsFromDB(File1); |
| | | fs.unlink(File1,(err)=>{ |
| | | if(err){ |
| | | console.log('删除失败') |
| | | }else{ |
| | | console.log('删除成功') |
| | | } |
| | | }) |
| | | res.json({code:200,result }); |
| | | try { |
| | | let result = await getDescriptorsFromDB(File1); |
| | | fs.unlink(File1,(err)=>{ |
| | | if(err){ |
| | | console.log('删除失败') |
| | | }else{ |
| | | console.log('删除成功') |
| | | } |
| | | }) |
| | | res.json({code:200,result }); |
| | | } catch (error) { |
| | | res.json({code:200,error }); |
| | | } |
| | | |
| | | |
| | | }); |
| | | // 获取人脸模型 |
| | | app.post('/get-face',upload.single('file'),async (req, res) => { |
| | | console.log('------------') |
| | | console.log(req.body) |
| | | const label = req.body.label |
| | | const result=await FaceModel.findOne({ "label": label }) |
| | | res.json({code:200,result}) |
| | | }) |
| | | // 清除人脸模型 |
| | | app.post("/del-face",upload.single('file'),async(req,res)=>{ |
| | | console.log('------------') |
| | | console.log(req.body) |
| | | const label = req.body.label |
| | | console.log('删除人脸库',label) |
| | | FaceModel.findOne({ "label": label }).then(re=>{ |
| | | console.log('kankan---') |
| | | console.log(re.images) |
| | | if(re.images.length>0){ |
| | | for (let i = 0; i < re.images.length; i++) { |
| | | fs.unlink(re.images[i],(err)=>{ |
| | | if(err){ |
| | | console.log('删除失败') |
| | | }else{ |
| | | console.log('删除成功') |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }) |
| | | let result= deleteLabelImages(label) |
| | | if(result){ |
| | | res.json({message:'success'}) |
| | | |
| | | }else{ |
| | | res.json({message:"err"}) |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | // add your mongo key instead of the *** |
| | | //链接数据库初始化 |
| | | mongoose |
| | | .connect( |
| | | `mongodb://localhost/test`, |