【发布时间】:2015-07-06 23:43:23
【问题描述】:
我想使用NSURLSessionUploadTask 将图像上传到服务器,我已经使用自定义委托完成了这项工作
let task = NSURLSession(
configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
delegate: self,
delegateQueue: NSOperationQueue.mainQueue()
).uploadTaskWithRequest(request, fromData: data)
task!.resume()
但我无法获得服务器的响应。使用task.response会返回错误码等头部信息,但不会返回页面实际显示的html。
我无法使用完成处理程序创建 url 任务,因为我需要获取上传进度。
如何使用 NSURLSessionUploadTask 从页面响应中获取 NSData?
【问题讨论】:
-
你在课堂上实现了 NSURLSessionTaskDelegate 吗?应调用委托方法以指示上传进度以及完成后..
-
@Subbu 问题是我不确定如何获得服务器的响应。能拿到进度,能看到上传什么时候完成,但是看不到服务器的响应html是什么
-
hmm.. 可能是 task.response.data 有信息吗?您是否要将数据转换为 nsstring 并打印以查看是否为 html.. 类似 var datastring = NSString(data:task.response.data, encoding:NSUTF8StringEncoding) as String 的东西?
-
@Subbu 遗憾的是,没有
task.response.data -
我很抱歉.. 只是想帮忙,你能尝试在“didReceiveData”中收集数据吗.. [你可以有一个全局 NSData 实例并附加接收到的数据] .. 在“didCompleteWithError”中你可以将数据转成字符串...
标签: ios swift swift2 nsurlsessionuploadtask