問題描述
在OSS中使用iOS SDK上傳資源時顯示上傳成功,但是在OSS控制臺無法獲取上傳的資源。
問題原因
在無線網絡環(huán)境中,上傳比較大的文件會持續(xù)較長時間,可能會遇到因為網絡條件差、用戶切換網絡等原因導致上傳資源失敗,以至于整個文件需要重新上傳。
解決方案
可以參考以下幾種方法優(yōu)化上傳操作。
斷點續(xù)傳
由于網絡不穩(wěn)定性,建議使用斷點續(xù)傳功能上傳資源。更多信息,請參見斷點續(xù)傳。
設置網絡超時時間和重試次數(shù)
移動端可以通過在iOS SDK中編輯以下內容,設置網絡超時時間和重試次數(shù)。
OSSClientConfiguration * conf = [OSSClientConfiguration new];
conf.maxRetryCount = 3; // 網絡請求遇到異常失敗后的重試次數(shù)
conf.timeoutIntervalForRequest = 30; // 網絡請求的超時時間
設置Content-Type和MD5
設置Content-Type并開啟MD5校驗,如果校驗失敗就重新上傳資源。
校驗crc64值
數(shù)據(jù)在客戶端和服務器之間傳輸時有可能會出錯,OSS支持對各種方式上傳的Object返回其crc64值,客戶端可以和本地計算的crc64值進行對比,從而完成數(shù)據(jù)完整性的驗證。更多信息,請參見crc64校驗文檔。
開啟日志功能
開啟OSS日志功能,方便定位上傳資源時遇到的問題。
移動端的使用環(huán)境比較復雜,部分區(qū)域或某個時段會出現(xiàn)無法正常使用OSS SDK的情況。為了進一步定位開發(fā)者遇到的問題,OSS SDK在開啟日志記錄功能后,會將日志信息記錄在本地。在使用OSS客戶端前進行初始化,并調用以下方法開啟日志記錄:
將文件存儲在沙盒的Caches文件或者OSSLogs文件夾內。
可以選擇性地將文件上傳到服務器,便于進一步追蹤問題。
文檔內容是否對您有幫助?