Uso Alamofire per eseguire una richiesta POST. Poiché questa richiesta POST può richiedere un po 'di tempo e voglio tenere traccia dell'avanzamento e visualizzarlo come ProgressView.Richiesta POST Alamofire con avanzamento
Alamofire.request(.POST, ApiLink.create_post, parameters: parameters, encoding: .JSON)
.progress { (bytesRead, totalBytesRead, totalBytesExpectedToRead) -> Void in
println("ENTER .PROGRESSS")
println("\(totalBytesRead) of \(totalBytesExpectedToRead)")
self.progressView.setProgress(Float(totalBytesRead)/Float(totalBytesExpectedToRead), animated: true)
}
.responseJSON { (_, _, mydata, _) in
println(mydata)
}
Tuttavia, ho notato che il .progress bloccare solo ottenere chiamato dopo che la richiesta post è finito invece di ottenere chiamato più volte per tenere in realtà traccia dei progressi. println ("ENTER .PROGRESSS") viene chiamato solo una volta (alla fine)
Come posso fare .progress lavora con Alamofire.request POST?
Inoltre: I miei parametri includono una stringa di immagine codificata in base64. Sto usando un back-end Ruby on Rails per elaborare l'immagine. È quel processo che richiede parecchio tempo.
Se è solo JSON che stai tornando, potrebbe benissimo essere che tutto il carico utile sta tornando tutto in una volta ... Che cosa viene stampato esattamente? – mattt
Oh sì, in effetti sto ricevendo una semplice richiesta JSON dopo che è tornata. Il fatto è che i miei parametri includono un'immagine codificata in base64. Sto utilizzando un binario di back-end per elaborare l'immagine caricata e questo processo richiede del tempo. – fabdarice
A meno che tu non stia facendo 'upload', lo stato di avanzamento riportato è il download. – mattt