Для загрузки изображения на сервер я использую Alamofire 4.4 и Swift 3.
Swager информация:
curl -X POST "url/id/upload" -H "accept: application/json" -H "Authorization: Bearer token" -H "Content-Type: multipart/form-data" -F "file=@craneB.png;type=image/png"
Мой код Swift:
let headers = [
"Authorization": "Bearer \(GlobalToken.appToken)",
"Content-Type": "multipart/form-data" ]
let url = BaseUrl+"1f510b93-5177-4880-447d-08d6fe7a9498"+"/upload"
let data = UIImageJPEGRepresentation(selectedImage, 0.9)
Alamofire.upload(multipartFormData: { (multipartFormData) in
if let data = data{
multipartFormData.append(data, withName: "name", fileName: "filename", mimeType: "image/png")
}
}, usingThreshold: UInt64.init(), to: url, method: .post, headers: headers) { (result) in
switch result{
case .success(let upload, _, _):
// upload.validate(statusCode: 200..<299)
upload.responseJSON{ response in
print("Succesfully uploaded")
switch response.result {
case .success(let JSON):
case .failure(_):
}
if let err = response.error{
print(err)
return
}
}
upload.uploadProgress(closure: { (progress) in
})
case .failure(let error):
print("Error in upload: \(error.localizedDescription)")
}
}
Respons:
Прогресс загрузки: 1.0
Успешно загружено.
Но у меня есть ошибка:
POST BaseUrl / 1f510b93-5177-4880-447d-08d6fe7a9498 / upload (500) {
Сообщение = "Внутренняя ошибка сервера. - System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта. \ N в
MaterialService.UploadAsync (идентификатор Guid, файл IFormFile)
Я направляю Id в URL, файл с multipartFormData. Загрузить на Sawager это работа. TY