如何在ios中将大尺寸视频和图像转换为NSData

时间:2013-10-10 14:48:37

标签: ios objective-c

我正在将视频和图片上传到远程服务器,并使用以下代码将它们转换为nsdata:

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];
NSData *imageData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];

对于小尺寸的视频和图片,此代码工作正常,但对于大型视频或图片,应用程序崩溃。

1 个答案:

答案 0 :(得分:0)

建议的解决方案之一是对这些图像和视频进行分区,然后逐个上传。

  
      
  1. 打开要上传的文件。
  2.   
  3. 读,让我们说5mb。
  4.   
  5. 将它们放在NSDATA上。 4上传。
  6.   
  7. 清除NSDATA。
  8.   

重复表格2。