上传大型视频时网络连接丢失

时间:2016-02-19 05:52:53

标签: ios video nsurlconnection

我正在开发一个视频分享应用。当我尝试上传大于10MB的视频时,NSURLConnection丢失,我收到错误 NSURLErrorDomain Code = -1005"网络连接丢失。" 。视频,上传不到10 MB。可以解决视频分辨率问题吗? 我的视频分辨率为1280 * 720

任何人都可以帮我理解这里的问题。 这是我的连接代码

NSString *urlString = [[NSString alloc]initWithString:[NSString stringWithFormat:WEBSERVICE_URL]];
urlString=[urlString stringByAddingPercentEscapesUsingEncoding:
           NSUTF8StringEncoding];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
[request setHTTPShouldHandleCookies:NO];
[request setTimeoutInterval:100];

[request setHTTPMethod:@"POST"];

这与NSURLConnection GET request returns -1005, "the network connection was lost"不重复,因为 我没有使用第三方库进行连接而不使用模拟器。我从那个答案中尝试了所有的东西。

1 个答案:

答案 0 :(得分:0)

您可能会遇到各种超时 - NSURLConnection超时或服务器端超时。 iOS可能会忽略您指定的超时值BTW。或者你可能只是失去网络连接,因为你的设备决定关闭蜂窝或Wi-Fi硬件以节省电力。很难说哪个。或者您的Wi-Fi连接可能已经丢失,因为它由于某种原因错过了接入点的太多信标。或....

我的建议是一次上传一个大文件,然后在服务器上组装这些文件。这样,当(不是)连接失败时,您可以重新上传仅部分传输的块,然后继续上传其他块,直到您上传完整的内容。

另请参阅Content-Range HTTP标头。显然,这需要您的服务器端代码支持该功能,但值得付出额外的努力。 : - )

顺便说一句,你忘了设置Content-Type标题。