ダウンロード

Object Body は、複数データに分割してダウンロードできます。

ここでは 1.5 MB の mp4 ファイルを 2 分割してダウンロードするケースを例に取ります。まずは最初の 1 MB 分のデータをダウンロードする例を以下に挙げます。

curl -v -X GET \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Range: bytes=0-1048575" \
  -H "Accept: */*" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body"

この例にもあるように、ダウンロードするデータの範囲は "Range" ヘッダに指定します。

Kii Cloud は、分割されたデータを次のように 206 応答で返します。

< HTTP/1.1 206 Partial Content
< Server: Apache-Coyote/1.1
< Access-Control-Allow-Origin: *
< ETag: {E_TAG}
< Content-Type: video/mp4
< Content-Length: 1048576
{
  {***THE_FIRST_1_MB_OF_THE_BINARY_DATA***}
}

引き続き、残りのデータをダウンロードには次のように API をコールします。

curl -v -X GET \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "Range: bytes=1048576-1572863" \
  -H "Accept: */*" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/groups/{GROUP_ID}/buckets/{BUCKET_ID}/objects/{OBJECT_ID}/body"

Kii Cloud は、分割されたデータを次のように 206 応答で返します。

< HTTP/1.1 206 Partial Content
< Server: Apache-Coyote/1.1
< Access-Control-Allow-Origin: *
< ETag: {E_TAG}
< Content-Type: video/mp4
< Content-Length: 524288
{
  {***THE_REMAINING_BINARY_DATA***}
}