HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何在文件夹中保存视频然后上传到服务器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to record a video clip in ipad app and store it in documents folder                                    3个
我正在录制来自ipad应用程序的视频,我希望该视频可以保存在文档文件夹中,或者直接我们可以将其上传到服务器.我在文档中存储音频文件但是如何保存视频文件.我使用以下代码进行录制视频.

谢谢.

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
  picker.delegate = self;

  if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
  {


    NSArray *mediaTypes = [NSArray arrayWithObject:(NSString*)kUTTypeMovie];
    picker.mediaTypes = mediaTypes ;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo ;

    [self presentModalViewController:picker animated:NO];

    [picker release];


}
  else
    {

UIAlertView *alt=[[UIAlertView alloc]initWithTitle:@"Error" message:@" Camera Facility is not available with this Device" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil,nil];
    [alt show];
    [alt release];
    }

解决方法

试试这个,我用当前的Date-Time存储它::

-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info
{
    [self dismissViewControllerAnimated:NO completion:nil];
    NSString *type = [info objectForKey:UIImagePickerControllerMediaType];

    if ([type isEqualToString:(NSString *)kUTTypeVideo] || [type isEqualToString:(NSString *)kUTTypeMovie])
    {
        videoURL = [info objectForKey:UIImagePickerControllerMediaURL];

        NSLog(@"found a video");

        // Code To give Name to video and store to DocumentDirectory //

        videoData = [[NSData dataWithContentsOfURL:videoURL] retain];
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];

        NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
        [dateFormat setDateFormat:@"dd-MM-yyyy||HH:mm:SS"];
        NSDate *Now = [[[NSDate alloc] init] autorelease];
        theDate = [dateFormat stringFromDate:Now];

        NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"Default Album"];

        if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
           [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil];

        NSString *videopath= [[[NSString alloc] initWithString:[NSString stringWithFormat:@"%@/%@.mov",documentsDirectory,theDate]] autorelease];

        BOOL success = [videoData writeToFile:videopath atomically:NO];

        NSLog(@"Successs:::: %@",success ? @"YES" : @"NO");
        NSLog(@"video path --> %@",videopath);
    }
}

视频上传::

videoData来自videoData = [[NSData dataWithContentsOfURL:videoURL] retain];

- (void)uploadVideo
{
    NSData *imageData = videoData;

    NSString *urlString=[NSString stringWithFormat:@"%s",UploadVideoService];
    NSLog(@"url=== %@",urlString);

    request = [[[NSMutableURLRequest alloc] init] autorelease];
    [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]];

    //Video Name with Date-Time
    NSDateFormatter *dateFormat=[[NSDateFormatter alloc]init];
    [dateFormat setDateFormat:@"yyyy-MM-dd-hh:mm:ssa"];
    NSString *currDate = [dateFormat stringFromDate:[NSDate date]];

    NSString *str = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"video-%@.mov\"\r\n",currDate];
    NSLog(@"String name::  %@",str);

    [dateFormat release];

    [body appendData:[[NSString stringWithString:str] 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];

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

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

    [returnString release];
}

希望,它会帮助你.

谢谢.

大佬总结

以上是大佬教程为你收集整理的iphone – 如何在文件夹中保存视频然后上传到服务器全部内容,希望文章能够帮你解决iphone – 如何在文件夹中保存视频然后上传到服务器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: