我想将大视频从 iPhone 上传到网络服务器。我尝试使用以下代码。它适用于小文件,但是当我尝试上传大文件时它会崩溃。
代码:
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"https://XXXXXXXXXXXXXXXX/submit.php"]];
NSData *webData = [NSData dataWithContentsOfURL:movieUrl];
NSString *postLength = [NSString stringWithFormat:@"%d", [webData length]];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
---- added some HTTP headers here ----
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *postbody = [NSMutableData data];
[postbody appendData:[NSData dataWithData:webData]];
[request setHTTPBody:postbody];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
经过研究,我有了一个想法,如果我在数据块中发送大文件,这将是可能的。解决方案1,解决方案2。
我还浏览了Stream Programming 苹果文档。 但不知道在哪里定义服务器 NSURL。将数据写入输出流后如何发送到服务器。
如果有人可以将我指向任何工作代码,那么我将能够更好地理解它。
怎么做?有什么想法吗?