swiftyjson objective example ios swift alamofire swift3

ios - objective - Swift 3-Carga de imágenes multiparte Alamofilre 4.0 con progreso



swiftyjson alamofire (1)

He terminado con la carga de imágenes y se ha cargado correctamente en el servidor utilizando el método siguiente.

Ahora quiero cargar la imagen con su progreso así que ¿alguien me puede decir cómo hacerlo? Encontré en todas partes pero no obtuve la solución correcta.

Código para la carga de imágenes sin su progreso:

@IBAction func uploadClick(_ sender: AnyObject) { // define parameters let parameters = [ "file_name": "swift_file.jpeg" ] Alamofire.upload(multipartFormData: { (multipartFormData) in multipartFormData.append(UIImageJPEGRepresentation(self.photoImageView.image!, 0.5)!, withName: "photo_path", fileName: "swift_file.jpeg", mimeType: "image/jpeg") for (key, value) in parameters { multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) } }, to:"http://server1/upload_img.php") { (result) in switch result { case .success(let upload, _, _): upload.responseJSON { response in //self.delegate?.showSuccessAlert() print(response.request) // original URL request print(response.response) // URL response print(response.data) // server data print(response.result) // result of response serialization // self.showSuccesAlert() //self.removeImage("frame", fileExtension: "txt") if let JSON = response.result.value { print("JSON: /(JSON)") } } case .failure(let encodingError): //self.delegate?.showFailAlert() print(encodingError) } } }


Finalmente obtuve la solución después de buscar mucho. Solo tenemos que poner el bloque uploadProgress dentro del bloque de resultados.

Alamofire.upload(multipartFormData: { (multipartFormData) in multipartFormData.append(UIImageJPEGRepresentation(self.photoImageView.image!, 0.5)!, withName: "photo_path", fileName: "swift_file.jpeg", mimeType: "image/jpeg") for (key, value) in parameters { multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) } }, to:"http://server1/upload_img.php") { (result) in switch result { case .success(let upload, _, _): upload.uploadProgress(closure: { (Progress) in print("Upload Progress: /(Progress.fractionCompleted)") }) upload.responseJSON { response in //self.delegate?.showSuccessAlert() print(response.request) // original URL request print(response.response) // URL response print(response.data) // server data print(response.result) // result of response serialization // self.showSuccesAlert() //self.removeImage("frame", fileExtension: "txt") if let JSON = response.result.value { print("JSON: /(JSON)") } } case .failure(let encodingError): //self.delegate?.showFailAlert() print(encodingError) } }