私のアプリでは、ユーザーはビデオを録画するか、フォト アルバムからビデオを選択し、php スクリプトを介してビデオ ファイルをサーバーにアップロードできます。ファイルをサーバーにアップロードするために、AFNetworking を使用しています。私はもともと写真アルバムからビデオをアップロードしようとしましたが、それを機能させることができなかったので、メインバンドルにビデオを追加しました (php スクリプト用に作成した html フロントを介してアップロードできることがわかっています)。
コードは次のとおりです。
NSString *vidURL = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mov"];
NSData *videoData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:vidURL]];
NSLog(@"The test vid's url is %@.",vidURL);
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL fileURLWithPath: @"http://www.mywebsite.com"]];
NSMutableURLRequest *afRequest = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload.php" parameters:nil constructingBodyWithBlock:^(id <AFMultipartFormData>formData)
{
[formData appendPartWithFileData:videoData name:@"file" fileName:@"test.mov" mimeType:@"video/quicktime"];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:afRequest];
[operation setUploadProgressBlock:^(NSInteger bytesWritten,long long totalBytesWritten,long long totalBytesExpectedToWrite)
{
NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite);
}];
[operation start];
HTML フォームを介して同じビデオをアップロードできるため、私の PHP スクリプトは正常に動作します。ただし、上記のコードは setUploadProgressBlock に到達できません。
何かが壊れているように誰かに突き出ていますか、それとも私が見逃しているものは他にありますか?
前もって感謝します