全部產品
Search
文件中心

Object Storage Service:iOS SDK上傳資源時顯示上傳成功但在控制台擷取資源失敗

更新時間:Feb 28, 2024

問題描述

在OSS中使用iOS SDK上傳資源時顯示上傳成功,但是在OSS控制台無法擷取上傳的資源。

問題原因

在無線網路環境中,上傳比較大的檔案會持續較長時間,可能會遇到因為網路條件差、使用者切換網路等原因導致上傳資源失敗,以至於整個檔案需要重新上傳。

解決方案

可以參考以下幾種方法最佳化上傳操作。

斷點續傳

由於網路不穩定性,建議使用斷點續傳功能上傳資源。更多資訊,請參見斷點續傳。

設定網路逾時時間和重試次數

移動端可以通過在iOS SDK中編輯以下內容,設定網路逾時時間和重試次數。

OSSClientConfiguration * conf = [OSSClientConfiguration new];
conf.maxRetryCount = 3; // 網路請求遇到異常失敗後的重試次數
conf.timeoutIntervalForRequest = 30; // 網路請求的逾時時間

設定Content-Type和MD5

設定Content-Type並開啟MD5校正,如果校正失敗就重新上傳資源。

校正crc64值

資料在用戶端和伺服器之間傳輸時有可能會出錯,OSS支援對各種方式上傳的Object返回其crc64值,用戶端可以和本地計算的crc64值進行對比,從而完成資料完整性的驗證。更多資訊,請參見crc64校正文檔。

開啟日誌功能

  • 開啟OSS日誌功能,方便定位上傳資源時遇到的問題。

  • 移動端的使用環境比較複雜,部分地區或某個時段會出現無法正常使用OSS SDK的情況。為了進一步定位開發人員遇到的問題,OSS SDK在開啟日誌記錄功能後,會將日誌資訊記錄在本地。在使用OSS用戶端前進行初始化,並調用以下方法開啟日誌記錄:

    • 將檔案儲存體在沙箱的Caches檔案或者OSSLogs檔案夾內。

    • 可以選擇性地將檔案上傳到伺服器,便於進一步追蹤問題。