全部產品
Search
文件中心

Object Storage Service:進度條(iOS SDK)

更新時間:Nov 29, 2025

進度條用於指示上傳或下載檔案的進度。本文以GetObject介面為例介紹如何列印下載檔案(Object)的進度條。

注意事項

  • 使用本文樣本前您需要先通過自訂網域名、STS等方式建立OSSClient,具體請參見初始化(iOS SDK)

    說明

    所建立儲存空間的所屬地區取決於初始化配置的endpoint地區資訊。

  • 要下載檔案,您必須有ossGetObject許可權。具體操作,請參見為RAM使用者授予自訂的權限原則

範例程式碼

以下代碼用於列印從examplebucket下載exampleobject.txt檔案的進度條。

OSSGetObjectRequest * request = [OSSGetObjectRequest new];
// 填寫Bucket名稱,例如examplebucket。
request.bucketName = @"examplebucket";
// 填寫Object完整路徑,完整路徑中不能包含Bucket名稱,例如exampledir/exampleobject.txt。
request.objectKey = @"exampledir/exampleobject.txt";
// 設定進度回呼函數列印進度條。
request.downloadProgress = ^(int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite) {
    // 當前下載長度、當前已下載總長度、待下載的總長度。
    NSLog(@"%lld, %lld, %lld", bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);
};

OSSTask * getTask = [client getObject:request];
[getTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"download object success!");
    } else {
        NSLog(@"download object failed, error: %@" ,task.error);
    }
    return nil;
}];
// 實現同步阻塞等待任務完成。
// [putTask waitUntilFinished]; 

相關文檔

關於初始化OSSClient,請參見如何初始化OSSClient執行個體