中断/再開が可能な Object Body のアップロードをする例を以下に挙げます。
Swift:
-
-
Objective-C:
-
-
ここでは以下の処理を実施しています。
- (必要に応じて)KiiObject にキーと値のペアをセット。ファイル名、ファイルサイズ、Object Body の有無などを登録しておくことも可能。
- アップロード対象ファイル(sample.mp4)のリファレンスを作成。
- アップロード対象ファイルのリファレンスを指定して
uploader(_:)
メソッドを実行し、KiiUploader
インスタンスを作成。
- Progress block を定義。
transfer(progressBlock:andCompletionBlock:_:)
メソッドを実行して、ファイルのアップロードを開始。
Object Body をすでに持つ KiiObject に対して新たにファイルをアップロードした場合、このファイルにより Object Body が上書きされます。
中断/再開可能なアップロードの場合に限り、アップロード対象のオブジェクトの save(_:)
を実行せずにtransfer(progressBlock:andCompletionBlock:_:)
メソッドを呼び出すと自動的に save(_:)
が実行されます。
ブロッキング API の transfer(progressBlock:_:)
メソッドをメインスレッドから呼び出した場合、Progress block は呼び出されません。
Progress block は、転送の進捗状況に応じて呼び出されます。転送サイズが小さい場合は、1 回目の呼び出しで 100% の進捗を示すことがあります。
何らかの理由によりアップロードが中断した場合はエラーが発生します。この場合、中断箇所よりアップロードの再開を行うことができます。再開方法については アップロードの再開 を参照してください。