使用自定义委托从 NSURLSessionUploadTask 获取服务器响应

Get server response from NSURLSessionUploadTask using custom delegate

我想使用 NSURLSessionUploadTask 将图像上传到服务器,我已经使用自定义委托

完成了
let task =  NSURLSession(
    configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
    delegate: self,
    delegateQueue: NSOperationQueue.mainQueue()
).uploadTaskWithRequest(request, fromData: data)

task!.resume()

但是我无法得到服务器的响应。使用 task.response return 错误代码和其他 header 信息,但不会 return 页面上显示的实际 html。

我无法使用完成处理程序创建 url 任务,因为我需要获取上传进度。

如何使用 NSURLSessionUploadTask 从页面响应中获取 NSData?

您可以通过 didReceiveData 收集数据,并且可以拥有一个全局 NSData 实例并附加接收到的数据。

然后,在didCompleteWithError中,可以将接收到的数据转换为字符串,得到响应HTML。