上手く伝わるかどうか心配ですが、
Express
のルーティングroute.post
の処理を複数させたいのですが、上手く行っておりません。
####やりたいこと
aws S3
に画像をuploadして、その画像をすぐに呼び出し、aws rekognition
で顔の分析をさせたい。
route.js
router.post('/:id/compared', [s3MulterTarget.single('file'), userList.loadCompared], function(req, res, next) { compareFace; //compareFace.jsでs3MulterTargetともう一つの画像を比較する });
userList.loadCompared.js(contollers)
exports.loadCompared = function(req, res) { User.findById(req.params.id, function(err, user) { if (err) return res.send(err); res.render('compared',{ id: user['_id'], name: user['name'], friend: user['friend'], }); }); };
やってみたこと
router.post
の引数に複数のcallbackを配列にして入れることが出来るので
router.post('/:id/compared', [s3MulterTarget.single('file'), compareFace, userList.loadCompared]
requires a callback function but got a [object Object]
のエラー
s3MultertargetとcompareFaceはcallback関数ではないのか?
もうひとつはドキュメントに従い、同じパス/:id/compared
を指定したget処理のルーティングをpostの下に書く。
router.get('/:id/compared', function(req, res){ res.send('send'); });
これもget処理されていない模様。(sendが表示されない)
Express
のドキュメントでは、連続処理について詳しく書かれていないし、自分のスキルが全然なので、どう対処するのか、出来れば詳しくお聞きしたいです。宜しくおねがいします。
あなたの回答
tips
プレビュー