example look like this:
vapor 2.0 server code:
let d =drop.grouped("file");
d.post("updateFile") { req in
  let data = Data.init(bytes: (req.data["image"]?.bytes)!)
  let picName = req.data["name"]?.string ?? String();
  try Data(data).write(to: URL(fileURLWithPath: "/Users/xx/Desktop/\(picName).jpg"))
  return try JSON(node: ["status": 0, "message": "success"])
}
Client code:
Alamofire.upload(multipartFormData: { (multipartFormData) in
        multipartFormData.append(imageData!, withName: "image", fileName: "pic", mimeType:"image/jpg")
        multipartFormData.append("picName".data(using: .utf8)!, withName: "name")
    }, to: "http://0.0.0.0:8083/file/updateFile") { (encodingResult) in
        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                debugPrint(response)
            }
        case .failure(let encodingError):
            print(encodingError)
        }
}