【问题标题】:Network connection lost when uploading large videos上传大视频时网络连接丢失
【发布时间】:2016-05-31 14:38:03
【问题描述】:

我正在开发一个视频分享应用。当我尝试上传大于 10MB 的视频时,NSURLConnection 会丢失并且出现错误 NSURLErrorDomain Code=-1005 "The network connection was lost." 。视频,小于 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" 的重复,因为 我没有使用第三方库进行连接,也没有使用模拟器。我已经尝试了该答案中的所有内容。

【问题讨论】:

标签: ios video nsurlconnection


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2014-09-03
    • 1970-01-01
    • 2020-05-08
    • 2015-07-27
    相关资源
    最近更新 更多