2015-02-10 127 views
0

我想上传PHP服务器上的视频,但它不是uploading.My图像上传代码工作正常,但是当我试图上传视频时它发送给我空白response.I不是能够理解我的代码有什么问题。请帮我解决这个问题。我没有找到任何关于这个问题的答案。视频不在iOS上的服务器上传

- (void)uploadVideo 
{ 
    NSData *imageData = videoData; 
    NSLog(@"imageData = %@",videoData); 

    NSString *urlString = @"MyURL"; 
    NSLog(@"url=== %@", urlString); 

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init]; 

    request = [[NSMutableURLRequest alloc] init]; 
    [request setURL:[NSURL URLWithString:urlString]]; 
    [request setHTTPMethod:@"POST"]; 

    NSString *boundary = @"---------------------------14737809831466499882746641449"; 
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
    [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 

    /* body of the post */ 

    NSMutableData *body = [NSMutableData data]; 
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"any_media\"; filename=\"%@\"\r\n",filename]dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[NSData dataWithData:imageData]]; 
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 

    [request setHTTPBody:body]; 

    NSURLResponse *response; 
    NSError *error =nil; 

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 

    NSLog(@"result from webservice:::--> %@", returnString); 


    NSDictionary *parsingResultLogin = [NSJSONSerialization JSONObjectWithData:returnData options:0 error:nil]; 
    NSLog(@"parsingResultLogin = %@",parsingResultLogin); 
} 
+0

这将是一个更好的方式,看看Web服务器响应的细节。如http状态码。在这种情况下追踪问题的最好方法是使用一些流量嗅探器工具,并查看应用程序发送请求的具体内容以及服务器响应的内容 – heximal 2015-02-10 12:04:13

回答

0

将内容长度也添加到请求中。

NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[body length]]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 

而且还确保imageData != nil;

+0

我检查了所有内容。我正在测试小视频。在一个正文内容中,但不是上传。 – chaaruu 2015-02-11 06:09:11

+0

我添加了你的代码,并测试它,但它也没有工作.. :( – chaaruu 2015-02-11 08:54:07

+0

什么是错误响应来到你??? – DilumN 2015-02-11 10:07:48