すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:プログレスバー (iOS SDK)

最終更新日:Nov 30, 2025

プログレスバーを使用すると、アップロードまたはダウンロード中のオブジェクトの進行状況を表示できます。 この例では、`PutObject` 操作を使用して、アップロード中のオブジェクトのプログレスバーを表示する方法について説明します。

注意事項

  • このトピックのサンプルコードを実行する前に、カスタムドメイン名や Security Token Service (STS) などのメソッドを使用して `OSSClient` インスタンスを作成する必要があります。 詳細については、「初期化」をご参照ください。

    説明

    バケットのリージョンは、初期化時に指定されたエンドポイントのリージョンによって決まります。

  • ファイルをアップロードするには、oss:PutObject 権限が必要です。 詳細については、「RAM ユーザーへのカスタムアクセスポリシーの付与」をご参照ください。

次のサンプルコードは、ローカルファイルをバケットにアップロードするときにプログレスバーを表示する方法の例を示しています。

OSSPutObjectRequest * put = [OSSPutObjectRequest new];
// バケット名を指定します。 例:examplebucket。
put.bucketName = @"examplebucket";
// オブジェクトの完全なパスを指定します。 完全なパスにバケット名を含めないでください。 例:exampledir/exampleobject.txt。
put.objectKey = @"exampledir/exampleobject.txt";
// アップロードするローカルファイルの完全なパスを指定します。
// デフォルトでは、ローカルファイルの完全なパスを指定しない場合、サンプルプログラムが属するプロジェクトのパスからローカルファイルがアップロードされます。
put.uploadingFileURL = [NSURL fileURLWithPath:@"filePath"];
// 進行状況のコールバック関数を設定して、プログレスバーを表示します。
put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
    // アップロード中のバイト数、アップロードされた合計バイト数、およびアップロードする合計バイト数を指定します。
    NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend);
};
OSSTask * putTask = [client putObject:put];
[putTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"upload object success!");
    } else {
        NSLog(@"upload object failed, error: %@" , task.error);
    }
    return nil;
}];
// 同期ブロッキングを実装して、タスクが完了するのを待ちます。
// [putTask waitUntilFinished]; 

関連ドキュメント

  • オブジェクトのアップロードにおけるプログレスバーの完全なサンプルコードについては、GitHub をご参照ください。

  • `OSSClient` インスタンスの初期化方法の詳細については、「初期化」をご参照ください。