Estoy descargando un file con la descarga de Alamofire con progreso, pero no tengo idea de cómo pausar / reanudar / cancelar la request específica.
@IBAction func downloadBtnTapped() { Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination) .progress { (bytesRead, totalBytesRead, totalBytesExpectedToRead) in println(totalBytesRead) } .response { (request, response, _, error) in println(response) } } @IBAction func pauseBtnTapped(sender : UIButton) { // i would like to pause/cancel my download request here }
Mantenga una reference a la request creada en downloadBtnTapped
con una propiedad y call cancel
en esa propiedad en pauseBtnTapped
.
var request: Alamofire.Request? @IBAction func downloadBtnTapped() { self.request = Alamofire.download(.GET, "http://httpbin.org/stream/100", destination: destination) } @IBAction func pauseBtnTapped(sender : UIButton) { self.request?.cancel() }
request.cancel()
cancelará el progreso de la descarga. Si desea hacer una pausa y continuar, puede usar:
var request: Alamofire.Request? @IBAction func downloadBtnTapped() { self.request = Alamofire.download(.GET, "http://yourdownloadlink.com", destination: destination) } @IBAction func pauseBtnTapped(sender : UIButton) { self.request?.suspend() } @IBAction func continueBtnTapped(sender : UIButton) { self.request?.resume() } @IBAction func cancelBtnTapped(sender : UIButton) { self.request?.cancel() }