Anda dapat menggunakan progress bar untuk menampilkan progres pengunggahan atau pengunduhan objek. Contoh berikut menggunakan operasi PutObject untuk menjelaskan cara menampilkan progress bar saat mengunggah objek.
Catatan Penggunaan
Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Inisialisasi.
CatatanWilayah bucket ditentukan oleh wilayah endpoint yang ditetapkan saat inisialisasi.
Untuk mengunggah file, Anda harus memiliki izin
oss:PutObject. Untuk informasi selengkapnya, lihat Berikan kebijakan akses kustom kepada RAM user.
Contoh
Kode contoh berikut menunjukkan cara menampilkan progress bar saat mengunggah file lokal ke bucket:
OSSPutObjectRequest * put = [OSSPutObjectRequest new];
// Tentukan nama bucket. Contoh: examplebucket.
put.bucketName = @"examplebucket";
// Tentukan path lengkap objek. Jangan sertakan nama bucket dalam path lengkap tersebut. Contoh: exampledir/exampleobject.txt.
put.objectKey = @"exampledir/exampleobject.txt";
// Tentukan path lengkap file lokal yang ingin diunggah.
// Secara default, jika Anda tidak menentukan path lengkap file lokal, file lokal akan diunggah dari path proyek tempat program contoh berada.
put.uploadingFileURL = [NSURL fileURLWithPath:@"filePath"];
// Konfigurasikan fungsi callback progres untuk menampilkan progress bar.
put.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) {
// Tentukan jumlah byte yang sedang diunggah, jumlah total byte yang telah diunggah, dan jumlah total byte yang ingin diunggah.
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;
}];
// Terapkan pemblokiran sinkron untuk menunggu tugas selesai.
// [putTask waitUntilFinished]; Referensi
Untuk kode contoh lengkap terkait progress bar dalam pengunggahan objek, kunjungi GitHub.
Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Inisialisasi.