ios - 使用自定义委托(delegate)从 NSURLSessionUploadTask 获取服务器响应

标签 ios swift swift2 nsurlsessionuploadtask

我想使用 NSURLSessionUploadTask 将图像上传到服务器,我已经使用自定义委托(delegate)完成了

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

task!.resume()

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

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

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

最佳答案

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

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

关于ios - 使用自定义委托(delegate)从 NSURLSessionUploadTask 获取服务器响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31257505/

相关文章:

iphone - 在ios中创建PDF到图像

iphone - 如何让 IBAction 在 iPad 应用程序启动时发生

ios - 将 CKServerChangeToken 保存到核心数据

ios - 在 SpriteKit 中使用 Swift 截取和共享屏幕截图

swift - 无法将类型 'T?' 的值转换为预期的参数类型 '_?' - 通用类型和完成 block

swift2 - GameCenter 无法工作,身份验证和排行榜未显示

ios - 自动布局顶部间距不起作用

swift - 从 UITableViewCell 保存到 UserDefaults 会导致 Swift 4.2 崩溃

swift - 如何在指定初始化器中调用协议(protocol)扩展初始化器?

ios - 如何在 Xamarin,IOS 中使用 SDWebImage 绑定(bind)