All Products
Search
Document Center

Object Storage Service:Pemrosesan gambar (Android SDK)

Last Updated:Aug 29, 2026

Pemrosesan Gambar (IMG) yang disediakan oleh Object Storage Service (OSS) adalah layanan yang aman, hemat biaya, dan sangat andal untuk memproses sejumlah besar gambar. Setelah mengunggah gambar ke OSS, Anda dapat memanggil operasi RESTful API untuk memproses gambar tersebut dari perangkat yang terhubung ke Internet kapan saja dan di mana saja.

Usage notes

  • Sebelum menjalankan kode contoh dalam topik ini, Anda harus membuat instans OSSClient dengan metode seperti menggunakan nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization (Android SDK).

Usage of IMG

Catatan

Parameter IMG hanya berlaku untuk data gambar yang diunduh dan tidak memengaruhi gambar sumber. Untuk mengganti gambar sumber dengan gambar hasil pemrosesan, lihat Save processed images.

  • Anonymous access

    String url = oss.presignPublicObjectURL(testBucket, testObject);
            OSSLog.logDebug("signPublicURL", "get url: " + url);
    Kemudian, tambahkan parameter x-oss-process ke URL tersebut. Nilai parameter ini menentukan operasi pemrosesan gambar.
  • Authorized access

    Untuk memproses gambar menggunakan SDK, panggil metode request.setxOssProcess() untuk mengatur parameter pemrosesan pada permintaan unduh. Kode berikut memberikan contohnya:

    // Buat permintaan untuk mengunduh gambar.
    // Tentukan nama bucket (misalnya, examplebucket) dan path lengkap objek (misalnya, exampledir/exampleobject.txt). Path lengkap objek tidak boleh mencantumkan nama bucket.
    GetObjectRequest request = new GetObjectRequest("examplebucket", "exampledir/exampleobject.txt");
    
    // Proses gambar.
    request.setxOssProcess("image/resize,m_fixed,w_100,h_100");
    
    OSSAsyncTask task = oss.asyncGetObject(get, new OSSCompletedCallback<GetObjectRequest, GetObjectResult>() {
        @Override
        public void onSuccess(GetObjectRequest request, GetObjectResult result) {
            // Permintaan berhasil.
            InputStream inputStream = result.getObjectContent();
    
            byte[] buffer = new byte[2048];
            int len;
    
            try {
                while ((len = inputStream.read(buffer)) != -1) {
                    // Proses data yang diunduh.
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onFailure(GetObjectRequest request, ClientException clientException, ServiceException serviceException) {
            // Tangani pengecualian. Anda dapat menambahkan logika penanganan pengecualian sendiri.
        }
    });
    Catatan

    Untuk melakukan operasi lain pada gambar, ganti argumen yang diteruskan ke request.setxOssProcess().

  • Access by using the OSS SDK

    GetObjectRequest request = new GetObjectRequest("bucket-name", "image-name");
    request.setxOssProcess("image/resize,m_lfit,w_100,h_100");  // Atur parameter pemrosesan gambar.
    OSSAsyncTask task = oss.asyncGetObject(request, getCallback);

Save processed images

Kode contoh berikut menunjukkan cara menyimpan gambar hasil pemrosesan:

// fromBucket dan toBucket menentukan nama bucket sumber dan tujuan.
// fromObjectKey dan toObjectKey menentukan nama objek sumber dan tujuan. Nama tersebut harus berupa path lengkap yang mencakup ekstensi file, misalnya abc/efg/123.jpg.
// action menentukan operasi pemrosesan gambar, seperti "image/resize,m_lfit,w_100,h_100".
ImagePersistRequest request = new ImagePersistRequest(fromBucket,fromObjectKey,toBucket,toObjectKey,action);

        OSSAsyncTask task = oss.asyncImagePersist(request, new OSSCompletedCallback<ImagePersistRequest, ImagePersistResult>() {
            @Override
            public void onSuccess(ImagePersistRequest request, ImagePersistResult result) {
                // Callback sukses
                log.i("info", "Success");
            }

            @Override
            public void onFailure(ImagePersistRequest request, ClientException clientException, ServiceException serviceException) {
              // Permintaan gagal.
              if (clientException != null) {
                  // Terjadi pengecualian di sisi klien, seperti error jaringan.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // Terjadi pengecualian di sisi server.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
            }
        });

References

  • Untuk informasi selengkapnya tentang parameter IMG yang didukung, lihat IMG parameters.

  • Untuk kode contoh lengkap yang digunakan untuk melakukan operasi IMG, kunjungi GitHub.

  • Untuk informasi selengkapnya tentang cara menginisialisasi instans OSSClient, lihat Initialization.