2015-02-10 123 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