5

我有一个非常大的视频,我需要将此视频分块以将其上传到Dropbox

我尝试使用NSData,但是因为这个文件太大,我的应用程序总是崩溃,所以我不知道我现在能做什么。

对于较小的视频,我使用了这个:

NSData(contentsOfURL: self.newAsset.URL)!.subdataWithRange(NSMakeRange(0, 10000000))

我对此没有任何问题,但是当视频太大时,我有一个错误:

无法分配内存

那么,我该怎么做才能对大视频的数据进行分块呢?

4

2 回答 2

2

对于最佳实践,NSURLSession如果您想实现自定义,请使用第三方库,否则有很多类似RESTKitAFNetworking. 对于NSURLSession会话NSURLSession支持三种类型的任务:数据任务、下载任务和上传任务。它也支持后台上传/下载。来源(苹果开发者

  • 数据任务使用 NSData 对象发送和接收数据。数据任务旨在用于从您的应用程序到服务器的简短的、通常是交互式的请求。数据任务可以在收到每条数据后一次将数据返回到您的应用程序,或者通过完成处理程序一次性返回所有数据。
  • 下载任务以文件的形式检索数据,并在应用程序未运行时支持后台下载。
  • 上传任务以文件的形式发送数据,并支持在应用未运行时进行后台上传。

图片来源raywenderlich.com 图片来源:

于 2016-08-02T12:35:36.443 回答
0

您应该使用视频文件 url 使用 NSURLSession 上传大数据

- (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL;
于 2016-08-02T12:35:13.477 回答