我正在通过 Alamofire.upload
将图像作为多部分数据上传到服务器。与 Alamofire.request
不同,它不返回 Request
对象,我通常用它来取消请求。
但是能取消上传这种耗时的请求是很合理的。 Alamofire 对此有哪些选择?
最佳答案
使用 Uploading MultiPartFormData来自 Alamofire 自述文件的示例:
Alamofire.upload(
.POST,
"https://httpbin.org/post",
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn")
multipartFormData.appendBodyPart(fileURL: rainbowImageURL, name: "rainbow")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
在这里,upload.responseJSON
返回一个 Request
,它应该允许您将它分配给某些东西以便稍后取消。例如:
let request = upload.responseJSON { ...
...
request.cancel()
关于swift - 如何取消 Alamofire.upload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888793/