全部產品
Search
文件中心

Object Storage Service:上傳檔案到OSS的多種方式

更新時間:Jun 19, 2024

您可以將任何類型的檔案上傳到OSS的Bucket中,包括圖片、文檔、視頻等。當您將檔案上傳到OSS時,檔案將作為OSS Object進行儲存。Object包含檔案資料本身和描述該對象的中繼資料。在一個Bucket中,您可以上傳大量的Object。

上傳方式

OSS提供以下檔案上傳方式:

  • 簡單上傳:適用於上傳小檔案,檔案大小不超過5 GB,操作簡單,通過調用OSS提供的PutObject介面一次性上傳整個檔案,無需特殊配置。

  • 分區上傳:適用於上傳大檔案,檔案大小不超過48.8 TB,通過調用OSS提供的多個介面,包括InitiateMultipartUpload、UploadPart、CompleteMultipartUpload,將檔案分割成多個分區並行上傳,然後在上傳完成後合并最終上傳整個檔案。如果因為網路環境不穩定等情況導致上傳中斷,用戶端需要手動記錄哪些分區上傳失敗以進行重傳。

  • 追加上傳:適用於上傳需要持續添加資料的檔案,例如視頻流,檔案大小不超過5 GB,通過調用OSS提供AppendObject介面上傳檔案,並產生Appendable類型的Object。Appendable類型Object後面允許直接追加內容,且每次追加上傳的資料都能夠即時可讀。非Appendable類型的Object不支援追加上傳。

  • 斷點續傳上傳:適用於在網路環境不穩定的情況下上傳大檔案,檔案大小不超過48.8 TB,通過調用OSS SDK基於分區上傳封裝的方法,例如Java SDK的uploadFile,實現在用戶端本地自動記錄上傳進度,然後在中斷後從上次停止的地方繼續上傳。

  • 表單上傳:適用於讓使用者在HTML網頁中上傳Object,檔案大小不超過5 GB,通過發起HTTP POST請求上傳檔案到OSS。您可以藉助服務端產生的PostPolicy限制用戶端上傳的檔案,例如限制檔案大小、檔案類型。

相關文檔

  • 如果您希望在上傳檔案時監控並顯示資料轉送的進度,您可以利用OSS SDK提供的進度監聽功能實現一個進度條來反饋即時的上傳狀態。更多資訊,請參見上傳進度條

  • 如果需要控制上傳的檔案的緩衝、下載、資料處理等行為,您可以在上傳時攜帶Object Meta資訊,例如Content-Type等標準HTTP頭。更多資訊,請參見設定檔案中繼資料

  • 在檔案上傳到OSS後,您可以通過上傳回調向指定的應用伺服器發起回調請求。更多資訊,請參見上傳回調

  • 推薦使用用戶端直傳的方式將檔案上傳到OSS。相對於服務端代理上傳,用戶端直傳避免了商務服務器中轉檔案,提高了上傳速度,節省了伺服器資源。更多資訊,請參見用戶端直傳

  • 如果您希望對上傳的圖片進行壓縮、添加自訂樣式等操作,請參見圖片處理操作方式

  • 如果上傳圖片後需要擷取圖片大小資訊,您可以使用?x-oss-process=image/info返回圖片的基本資料。更多資訊,請參見擷取資訊

  • 如果您希望對上傳的圖片或者視頻等進行文字識別、字幕提取、視頻轉碼、產生視頻封面等處理,請參見ApsaraVideo for Media Processing

  • 檔案上傳完成後,您可以在URL中加入簽名資訊,以便將該URL轉給第三方實現授權訪問。更多資訊,請參見在URL中包含簽名

  • 通過檔案URL訪問檔案時,是預覽或者下載的行為取決於網域名稱類型以及Bucket的建立時間。更多資訊,請參見通過檔案URL訪問檔案無法預覽而是以附件形式下載?