

iPhoneアプリで動画をサーバーにアップロードする機能を実装しています。  
AFNetworkingを使って動画をアップロードすることには成功したのですが、  
動画の容量が大きくなると、失敗するようです。  
具体的には、容量が10MBを超えてくると必ず失敗します。

このように容量の大きいファイルをアップロードしたい場合は、  
AFNetworkingを使わず、別の方法を模索した方がよいのでしょうか？  
詳しい方、ご教示ください。

・Objective-C

[code]

    // 動画を取得
    NSString *dir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *path = [dir stringByAppendingPathComponent:@"test.mov"];
    NSData *videoData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:path]];
    
    // 動画をアップロード
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    [manager.requestSerializer setTimeoutInterval:50];
    
    [manager POST:@"(省略)/deployMovieTest.php" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:videoData name:@"movie" fileName:@"test.mov" mimeType:@"video/quicktime"];
    } success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"【成功】: JSONを表示 %@", responseObject);
        NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"【成功】: 文字を表示%@",responseStr);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"【失敗】: %@", error);
    }];
    
[/code]

・php

[code]

    <?php
    
    // POSTで受け取った情報は$_FILESに入っている。
    // POSTで動画を受け取る。
    $image = file_get_contents($_FILES['movie']['tmp_name']);
    
    
    // 移動させる先のURLを作成。
    $uploaddir = '(省略)/uploads/';
    $uploadfile = $uploaddir.basename($_FILES['movie']['name']);
    
    // ファイルを保存。
    $message = "";
    if (move_uploaded_file($_FILES['movie']['tmp_name'], $uploadfile)) {
        $message = "OK!\n";
    } else {
        $message = "NO:)";
    }
    
    // 出力
    header('Content-type: application/json');
    echo json_encode($message);
    
    ?>
    
[/code]


CC BY-SA 3.0
2015-08-10T05:16:51.723
14225
2015-08-11T14:24:06.483
7699
question
php objective-c
Objective-Cで容量の大きい動画ファイルをアップロードする方法


※コメントで解決してしまいましたが、回答の方にも記載しておきます。この質問の閲覧者に解決済みであることが判るのでこの回答を承認お願いしたいです。

サーバー側がPHPと云うことで原因を推定してみました。  
phpではphp.iniの設定で「upload_max_filesize」という設定があり、この設定値でファイルのアップロードにサイズ制限しています。この値をアップロードしたいファイルの想定最大値に設定しておく必要があります。（規定値では2Mとか10Mとか小さい値に設定されています。）


CC BY-SA 3.0
2015-08-11T14:24:06.483
14293
2015-08-11T14:24:06.483
7343
14225
answer