首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在elcImagePickerController中获取视频的NSData?

如何在elcImagePickerController中获取视频的NSData?
EN

Stack Overflow用户
提问于 2016-09-08 18:39:13
回答 1查看 699关注 0票数 0

我想上传视频到服务器...我正在使用elcImagePickerController选择多个/单个视频

但在

代码语言:javascript
复制
 - (void)elcImagePickerController:(ELCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSArray *)info

方法无法获取UIImagePickerControllerMediaURL来获取数据..

那么如何获取视频数据并将其发送到服务器?

这是我的代码

代码语言:javascript
复制
    if ([dict objectForKey:UIImagePickerControllerOriginalImage]){
            UIImage* image=[dict objectForKey:UIImagePickerControllerOriginalImage];

            [images addObject:image];

            NSURL *imagePath = [dict objectForKey:UIImagePickerControllerReferenceURL];
            NSString *imageName = [imagePath lastPathComponent];
            [imgNames addObject:imageName];
            UIImageView *imageview = [[UIImageView alloc] initWithImage:image];
            [imageview setContentMode:UIViewContentModeScaleAspectFit];
            imageview.frame = workingFrame;

            [_scrollView addSubview:imageview];

            workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width;
        } 
EN

回答 1

Stack Overflow用户

发布于 2016-09-09 12:28:01

终于从这里得到了解决方案https://stackoverflow.com/a/10799693/6011616

代码语言:javascript
复制
ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
[assetLibrary assetForURL:[NSURL URLWithString:videoLink] resultBlock:^(ALAsset *asset) {
ALAssetRepresentation *rep = [asset defaultRepresentation];
Byte *buffer = (Byte*)malloc(rep.size);
NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];

NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES]; 
NSLog(@"%@",data); //this is what I was expecting
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39388772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档