我想将大型视频从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];
经过研究我得到了一个想法,如果我在大块数据中发送大文件,这将是可能的。 solution1,solution2。
我也经历了Stream Programming apple doc. 但不知道在哪里定义服务器NSURL。将数据写入输出流后如何发送到服务器。
如果有人能指出我的任何工作代码,那么我将能够更好地理解它。
怎么做?有什么想法吗?