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

标签 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" 的重复因为
我没有使用第三方库进行连接,也没有使用模拟器。我已经尝试了该答案中的所有内容。

最佳答案

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

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

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

顺便说一句,您忘记设置 Content-Type标题。

关于ios - 上传大视频时网络连接丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35498250/

相关文章:

ios - 如何在elcImagePickerController中获取视频的NSData?

cocoa - 是否可以从另一个线程取消同步 NSURLConnection ?

ios - 右侧的“完成”UINavigationBarButtonItem 被截断

java - Android 元素可见性无法正常工作

html - 带有视频背景的页眉,位置在 safari 中不起作用

xcode - NSURLConnection 以错误结束 - 代码 -1002

ios - AWSS3GetObjectRequest.ifModifiedSince 似乎不起作用

ios - setSelectionIndicatorImage 尺寸错误

objective-c - NSURLConnection 与 NSRunLoopCommonModes

javascript - 播放视频的进度条