Получение ошибки в параметрах записи с MultipartFormData с использованием Alamofire Swift - PullRequest
2 голосов
/ 23 декабря 2019

Я не могу загрузить изображения на сервер. Показывает процесс загрузки upload.uploadProgress, но после upload.responseJSON - ошибка nil. Я старался изо всех сил, но не смог решить проблему. Пожалуйста, кто-нибудь может мне помочь. Что я делаю неправильно? когда я отлаживаю { (result) in switch result { результат недействителен.

Ключ почтальона: (параметры)

ImageList -- for images
ProjectUnitID  -- 8568816

Код Swift:

 if asset.type == .photo {
   let displayImage = asset.fullResolutionImage!images?.append(d)
   let token = UserDefaults.standard.string(forKey: "newToken")
   let image = displayImage
   let imgData = image.jpegData(compressionQuality: 0.2)!
   let parameters = ["ProjectUnitId": 8568816]                 
   Alamofire.upload(multipartFormData: { multipartFormData in
        multipartFormData.append(imgData, withName: "ImageList",fileName: "file.jpg", mimeType: "image/jpg")
        for (key, value) in parameters {
            multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
        } 
   },to:"http://AddProjectUnitImages", headers: [ "Authorization":"Bearer \(String(describing: token))"]) { (result) in
   switch result {
   case .success(let upload, _, _):
       upload.uploadProgress(closure: { (progress) in
           print("Upload Progress: \(progress.fractionCompleted)")
        })

       upload.responseJSON { response in
          print(response.result.value)
       }
       case .failure(let encodingError):
          print(encodingError)
       }
     }
  }

1 Ответ

1 голос
/ 23 декабря 2019

Попробуйте, если это ошибка сервера, вы получите ошибку здесь,

Alamofire.upload(multipartFormData: { (multipartFormData) in
    multipartFormData.append(profileImg, withName: "user_image", fileName: "file.jpeg", mimeType: "image/jpeg")
    for (key, value) in parameters {
         multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
    } //}, to:url!,headers:nil)
 }, to:url) { (result) in
 switch result {
 case .success(let upload,_,_ ):
    upload.uploadProgress(closure: { (progress) in
        //Print progress
        print(progress)
    })
    //To check and verify server error
    upload.responseString(completionHandler: { (response) in
        print(response)
        print (response.result)
    })
    upload.responseJSON { response in
       switch response.result {
       case .success:
           print(response)
           completion(response)
       case .failure(let error):
          print(error)
          completion(response)
       }
    }
    case .failure(_):
       print(result)
      // completion(responds)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...