全部產品
Search
文件中心

Object Storage Service:Go上傳檔案

更新時間:Nov 27, 2024

Go SDK V2提供了各種上傳檔案的介面,您可以根據使用情境選擇適合的介面。

類型

介面名

說明

簡單上傳

Client.PutObject

  • 簡單上傳, 最大支援5GiB

  • 支援CRC64資料校正(預設啟用)

  • 支援進度條

  • 請求body類型為io.Reader, 當支援io.Seeker類型時,具備失敗重傳

Client.PutObjectFromFile

  • 與Client.PutObject介面能力一致

  • 請求body資料來源於檔案路徑

追加上傳

Client.AppendObject

  • 追加上傳, 最終檔案最大支援5GiB

  • 支援CRC64資料校正(預設啟用)

  • 支援進度條

  • 請求body類型為io.Reader, 當支援io.Seeker類型時,具備失敗重傳(該介面為非等冪介面,重傳時可能出現失敗)

AppendOnlyFile介面

AppendOnlyFile.Write

AppendOnlyFile.WriteFrom

  • 與Client.AppendObject介面能力一致

  • 最佳化了重傳時失敗後容錯處理

分區上傳

分區上傳介面

Client.InitiateMultipartUpload

Client.UploadPart

Client.CompleteMultipartUpload

  • 分區上傳,單個分區最大5GiB,檔案最大48.8TiB

  • UploadPart介面支援CRC64校正(預設啟用)

  • UploadPart介面支援進度條

  • 請求body類型為io.Reader, 當支援io.Seeker類型時,具備失敗重傳

表單上傳

/

  • 產生Post簽名和Post Policy等資訊,並調用HTTP Post方法上傳檔案到OSS

使用簽名URL上傳

Client.Presign

  • 產生帶有到期時間的PUT方法簽名URL,以允許他人臨時上傳檔案

大檔案上傳管理器

Uploader.UploadFrom

  • 封裝了簡單上傳 和 分區上傳介面,最大支援48.8TiB

  • 支援CRC64資料校正(預設啟用)

  • 支援進度條

  • 請求body參數類型為io.Reader,當同時支援 io.Reader, io.Seeker 和 io.ReaderAt 類型時,不需要把資料緩衝在記憶體裡,否則 必須先把資料緩衝在記憶體中,然後才能上傳該部分

Uploader.UploadFile

  • 與Uploader.UploadFrom介面能力一致

  • 請求body資料來源於檔案路徑

  • 支援斷點續傳