Alamofire 5: проблема с загрузкой многокомпонентных изображений Swift для flask API
Я пытался загрузить одно изображение через многостраничные данные Alamofire 5, API работает нормально на Postman, а также на стороне Android, но не работает на стороне iOS. API разработан в Python Flask. Изображение получено с камеры и с помощью загрузки изображения JPEGCompression.
Вот мой код:
func postMultipartData(imageData: Data, completion:@escaping (Result<AccuracyModel?, ErrorResponse>) -> Void) {
let url = APIConstant.ImageAccuracyBaseUrl.BASEURL
let mimeType = "image/jpeg"
let headers: HTTPHeaders = [
"Content-Type": ContentType.multipart.rawValue
]
AF.upload(multipartFormData: { (multipartFormData) in
multipartFormData.append(imageData, withName: "file", fileName: "file123.jpg", mimeType: mimeType)
print(multipartFormData.boundary)
}, to: url, usingThreshold: UInt64.init(),
method: .post,
headers: headers).response { response in
switch response.result {
case .success(_):
if response.response?.statusCode == 200 || response.response?.statusCode == 201 {
do {
if let data = response.data {
let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
print(json ?? "")
let decodedData = try! JSONDecoder().decode(AccuracyModel.self, from: data)
DispatchQueue.main.async {
completion(.success(decodedData))
}
} else {
print(response)
}
} catch {
completion(Result.failure(self.generateErroModel()!))
}
} else if response.response?.statusCode == 500 {
completion(Result.failure(self.generateErroModel()!))
} else {
fallthrough
}
break
case .failure(_):
completion(Result.failure(self.generateErroModel()!))
}
}
}
В целях тестирования api использует порт 5000, это может быть проблемой? Параметры не требуются, поэтому их не отправляем.
Я также пробовал использовать NSURLSession, но не повезло.
Для кода Flask я сослался на следующую ссылку:https://pytorch.org/tutorials/intermediate/flask_rest_api_tutorial.html
Заранее спасибо.