共用方式為


指定 FileREST 的範圍標頭

某些 FileREST GET 作業支援使用標準 HTTP Range 標頭。 許多 HTTP 用戶端,包括 .NET 用戶端程式庫,會將標頭的大小 Range 限制為 32 位整數,因此其值上限為 4 GiB。 由於檔案的大小可以大於 4 GiB,因此Azure 檔案儲存體接受任何接受 HTTP Range 標頭之作業的自訂範圍標頭 x-ms-range

有些 HTTP 用戶端 (包括 Microsoft Silverlight 程式庫) 會限制存取整個 Range 標頭。 x-ms-range 標頭也可以用來規避這些限制。

如果在要求上指定 x-ms-range 標頭,服務會使用 x-ms-range 指定的範圍,否則就會使用 Range 標頭指定的範圍。

範圍標頭格式

Azure 檔案儲存體接受 和 x-ms-range 標頭的 Range 兩個位元組範圍。 位元組範圍必須遵守下列任一標頭格式:

  • bytes=startByte-
  • bytes=startByte-endByte

格式 1:bytes=startByte-

此範圍將會傳回從位移 startByte 到檔案結尾的位元組。 例如,指定的範圍若要包含檔案前 256 個位元組之後的所有位元組,您可以在下列任一標頭中傳遞:

  • Range: bytes=255-
  • x-ms-range: bytes=255-

回應中的 Content-Length 標頭等於從位移到檔案結尾的位元組數。 如果針對長度為 1,024 個位元組的檔案,使用上述範例範圍,則 Content-Length 是 756。

如果位移有效,而且未超過檔案的總長度,要求將會傳回狀態碼 206 (部份內容)。 如果位移無效,而且超過檔案的總長度,要求將會傳回狀態碼 416 (無法滿足的要求範圍)。

格式 2:bytes=startByte-endByte

此範圍將會傳回從位移 startByteendByte 的位元組。 例如,指定的範圍若要包含檔案的前 512 個位元組,您可以在下列任一標頭中傳遞:

  • Range: bytes=0-511

  • x-ms-range: bytes=0-511

回應中的 Content-Length 標頭等於各位移之間的位元組數。 針對長度 Content-Length 為 1,024 個位元組的檔案,使用上述範例範圍會是 512。

如果位移有效且未超過檔案的總長度,要求會傳回狀態碼 206 (部分內容) 。 如果位移無效,而且超過檔案的總長度,要求將會傳回狀態碼 416 (無法滿足的要求範圍)。

另請參閱

Azure 檔案儲存體概念