2015-07-06 3 views
0

Я хотел бы, чтобы загрузить изображение на сервер с помощью NSURLSessionUploadTask, который я уже достигнут с помощью пользовательского делегатаПолучить ответ сервера от NSURLSessionUploadTask используя пользовательского делегата

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

task!.resume() 

Но я не могу получить сервера ответ. Использование task.response возвращает код ошибки и другую информацию заголовка, но не возвращает фактический html, указанный на странице.

Я не могу создать задачу url с обработчиком завершения, потому что мне нужно получить ход загрузки.

Как я могу получить NSData из ответа на страницу с помощью NSURLSessionUploadTask?

+0

Вы реализовали NSURLSessionTaskDelegate в своем классе? Необходимо вызвать методы делегата, чтобы указать ход загрузки, а также после завершения. – Subbu

+0

@Subbu Проблема в том, что я не уверен, как получить ответ сервера. Я могу получить прогресс, и я могу видеть, когда загрузка завершена, но я не могу понять, что ответ сервера html равен – Jojodmo

+0

hmm .. может быть task.response.data есть информация? вы хотите преобразовать данные в nsstring и распечатать, чтобы узнать, является ли это html .. что-то вроде var datastring = NSString (data: task.response.data, encoding: NSUTF8StringEncoding) как String? – Subbu

ответ

1

Вы можете собирать данные через didReceiveData и иметь глобальный экземпляр NSData и добавлять полученные данные.

Затем в didCompleteWithError вы можете преобразовать полученные данные в строку, чтобы получить ответ HTML.

Смежные вопросы