Код состояния 422 при загрузке изображения в Onfido API с помощью Alamofire и PromiseKit в быстром - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь загрузить изображение в API Onfido, используя alamofire и PromiseKit, и в ответ я получаю код состояния 422. Моя функция для загрузки изображения:

    public func uploadFrontDocument(file: Data,type: String, side: String, appID: String) -> Promise<Void> {
    return Promise { fulfill, reject in
        let request = OnfidoService<documentId>.uploadFrontDocument(file: file, type: type, side: side, appID: appID)
        let URL = try! URLRequest(url: request.baseURL + request.baseApiPath + request.path, method: request.method, headers: request.headers)
        let params: Parameters = request.parameters
        Alamofire.upload(
            multipartFormData: { multipartFormData in
                for (key, value) in params {
                    multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
                }
                multipartFormData.append(file, withName: "frontDL",fileName: "file.jpg", mimeType: "img/jpg")
        }, with: URL) { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload
                    .validate(statusCode: 200 ..< 300)
                    .response { response in
                        print(response)
                        fulfill()
                }
            case .failure(let error):
                reject(error)
            }
        }
    }

и для вызова этой функции я делаю:

    let data = UIImageJPEGRepresentation(croppedImage, 0.8)
                    OnfidoManager.shared.uploadFrontDocument(file: data!,type: "driving_licence", side: "front", appID: appID)
                        .then { docID -> Void in
                            ////////here , je mets dismiss loader
                        }.catch { _ in
                            Logger.error(message: "NoDocID")
                    }

Что я делаю не так, чтобы получить код состояния 422, зная, что когда я выполняю запрос с почтальоном, он отлично работает?

Заранее спасибо.

...