Я использую следующий код для загрузки изображения на сервер PHP (с реальным URL)
let imageData = UIImageJPEGRepresentation(image, 1)
if(imageData == nil ) { return }
let uploadScriptUrl = NSURL(string:"http://****/****/sendFile.php")
var request = NSMutableURLRequest(URL: uploadScriptUrl!)
request.HTTPMethod = "POST"request.setValue("Keep-Alive", forHTTPHeaderField: "Connection")
request.setValue("multipart/form-data; boundary=*****", forHTTPHeaderField: "Content-Type")
request.setValue(Util.getPhonenum(), forHTTPHeaderField: "phonenumFrom")
request.setValue(self.theirPhonenum, forHTTPHeaderField: "phonenumTo")
request.setValue(Util.getPassword(), forHTTPHeaderField: "password")
request.setValue(obj.serialize(false), forHTTPHeaderField: "message")
request.setValue(".png", forHTTPHeaderField: "type")
var configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
var session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: NSOperationQueue.mainQueue())
var task = session.uploadTaskWithRequest(request, fromData: imageData)
task.resume()
Как вы можете видеть, я установил тип содержимого multipart / form-data
Тем не менее, эта строка от моего делегата:
func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void)
{
println("didReceiveResponse")
println(dataTask.response);
}
Возвращает это (я удалил URL)
{URL: ******. Php} {код статуса: 200, заголовки {
Connection = «Keep-Alive»;
«Content-Length» = 5;
«Content-Type» = «text / html»;
Дата = «Ср, 19 августа 2015 20:59:12 GMT»;
«Keep-Alive» = «timeout = 5, max = 100»;
Сервер = «Apache / 2.4.7 (Ubuntu)»;
«X-Powered-By» = «PHP / 5.5.9-1ubuntu4.11»;
}})
Что говорит о том, что тип контента — text / html
Почему это так?
Задача ещё не решена.
Других решений пока нет …