Node.js
Express
multer

POSTされた画像をExpressで取得する

クライアントが'Content-Type': 'multipart/form-data'で画像をPOSTした場合
Expressでどういう処理をすればいいのか悩んだので記載しておきます。
multerを使います。

const express = require('express')
const multer = require('multer')
const app = express()
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    // 保存したいパス
    cb(null, '/var/image')
  }
  ,
  filename: function (req, file, cb) {
    // アップロードしたときのファイル名で保存
    cb(null, file.originalname)
  }
})
const upload = multer({ storage: storage })

// listening 3000 port
const server = app.listen(3000)

app.post('/image', upload.single('file'), function(req, res, next) {

  // POSTされた画像の情報をJSONで取得
  const req_file_json = JSON.stringify(req.file)

    // ***************
  // お好きな処理をここに
    // ***************

  res.json({'result': 'success!'})
})

上記の場合サーバ側では /image/var/[ファイル名] に画像が保存されます。
画像の情報も一行で取得できるので便利ですね。

// POSTされた画像の情報をJSONで取得
const req_file_json = JSON.stringify(req.file)

bodyにも情報が入っている場合は

const req_body_json = JSON.stringify(req.body)

で取得できますね。
画像をアップロードするときに他の情報(画像の正解ラベル等)がbodyに入っていてもこれで対応できますね。