5

非常に大きなビデオがあり、このビデオを分割してDropboxにアップロードする必要があります。

を使ってみたNSDataのですが、このファイルが大きすぎていつもアプリがクラッシュしてしまい、どうしたらよいかわかりません。

小さいビデオの場合、これを使用しました:

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

問題はありませんでしたが、ビデオが大きすぎるとエラーが発生します。

メモリを割り当てられません

では、大きなビデオのデータをチャンク化するにはどうすればよいでしょうか?

4

2 に答える 2

2

ベスト プラクティスNSURLSessionとして、カスタムを実装する場合は、サード パーティ製のライブラリが多数ありRESTKitますAFNetworkingNSURLSessionセッションではNSURLSession、データ タスク、ダウンロード タスク、アップロード タスクの 3 種類のタスクがサポートされます。バックグラウンドでのアップロード/ダウンロードもサポートしています。ソース(アップル開発者)

  • データ タスクは、NSData オブジェクトを使用してデータを送受信します。データ タスクは、アプリからサーバーへの短い、多くの場合インタラクティブな要求を対象としています。データ タスクは、各データの受信後に一度に 1 つずつデータをアプリに返すか、完了ハンドラーを介して一度にすべてを返すことができます。
  • ダウンロード タスクは、ファイルの形式でデータを取得し、アプリが実行されていないときのバックグラウンド ダウンロードをサポートします。
  • アップロード タスクは、ファイルの形式でデータを送信し、アプリが実行されていないときのバックグラウンド アップロードをサポートします。

画像ソースraywenderlich.com 画像ソース:

于 2016-08-02T12:35:36.443 に答える
0

NSURLSession を使用して大きなデータをアップロードするには、ビデオ ファイルの URL を使用する必要があります。

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