我已经实现了我的NSURLConnection
方法将文件上传到我的服务器,一切正常,直到设备升级到iOS6。现在,它在3G下工作正常,但是当通过wifi连接时,上传只停止一半并挂起,直到超时开始。
经过一番检查,使用wifi:
上传较小的文件时,didSendBodyData
委托会被多次调用,这很好,但奇怪的是,totalBytesWritten
相当于totalBytesExpectedToWrite
之后将暂停一段时间,同一个代理将再次被调用,现在,totalBytesExpectedToWrite
将成为原始文件大小的2倍。
上传较大的文件时,didSendBodyData
委托将被多次调用,但totalBytesWritten
永远不会达到totalBytesExpectedToWrite
。它将中途停止,并且在超时之前不会再次调用该代表。
以下是我开始发送文件的简要说明:
NSURL *url = [[NSURL alloc] initWithString:MyURI];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url];
[req setHTTPMethod:@"POST"];
[req setTimeoutInterval:600];
[req setCachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData];
[req setValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
[req setValue:userName forHTTPHeaderField:@"AuthField1"];
[req setValue:authorizationToken forHTTPHeaderField:@"AuthField2"];
[req setHTTPBody:data];
NSURLConnection *reqConnection = [[NSURLConnection alloc] initWithRequest:req delegate:self];
在iOS6中通过wifi连接有什么变化?任何建议将不胜感激。