All Products
Search
Document Center

Object Storage Service:Simpan gambar yang diproses

Last Updated:Sep 02, 2026

Secara default, Object Storage Service (OSS) memproses gambar sumber berdasarkan parameter dalam permintaan image processing (IMG), tetapi tidak menyimpan gambar yang telah diproses. Jika Anda ingin menampilkan hasil pemrosesan yang sama—seperti Gambar mini, gambar yang dipotong, atau gambar yang dikonversi formatnya—Anda dapat menyimpan gambar tersebut. Untuk menyimpan gambar yang telah diproses sebagai objek ke bucket tertentu, tambahkan parameter saveas ke permintaan IMG.

Catatan

  • Izin yang diperlukan

    Untuk menyimpan gambar yang telah diproses, Anda harus memiliki izin oss:PostProcessTask pada bucket sumber, serta izin oss:PutBucket pada bucket tujuan dan izin oss:PutObject pada objek tujuan.

  • Wilayah penyimpanan

    Anda dapat menyimpan gambar yang telah diproses ke bucket yang sama tempat gambar sumber disimpan atau ke bucket yang berbeda. Namun, bucket sumber dan bucket tujuan harus dimiliki oleh Akun Alibaba Cloud yang sama dan berada di Wilayah yang sama.

  • Metode penyimpanan

    Saat menggunakan SDK untuk menyimpan gambar yang telah diproses, data diproses di sisi server OSS dan gambar langsung ditulis ke bucket yang ditentukan. Anda tidak perlu mengunduh gambar ke Perangkat lokal lalu mengunggahnya kembali. Cukup tambahkan parameter saveas untuk menyimpan gambar yang diproses menggunakan SDK ke bucket tertentu. Untuk informasi selengkapnya, lihat Contoh cara menyimpan gambar yang diproses menggunakan Alibaba Cloud SDK. Perlu diperhatikan bahwa penyimpanan langsung hasil pemrosesan dari URL file ke bucket tertentu tidak didukung. Sebaiknya simpan terlebih dahulu gambar yang telah diproses ke Perangkat lokal, lalu unggah ke bucket yang ditentukan.

  • ACL

    Daftar kontrol akses (ACL) gambar yang telah diproses mengikuti ACL bucket tempat gambar tersebut disimpan dan tidak dapat dikustomisasi.

  • Durasi penyimpanan

    Jika ingin menyesuaikan Durasi penyimpanan gambar yang telah diproses, konfigurasikan kebijakan kedaluwarsa yang sesuai dengan menggunakan aturan lifecycle.

Operasi

Gunakan Alibaba Cloud SDK

Kode berikut memberikan contoh cara menyimpan gambar yang telah diproses menggunakan OSS SDK untuk bahasa pemrograman umum. Untuk informasi lebih lanjut tentang cara menyimpan gambar yang telah diproses menggunakan SDK lainnya, lihat Ikhtisar SDK.

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.common.utils.IOUtils;
import com.aliyun.oss.model.GenericResult;
import com.aliyun.oss.model.ProcessObjectRequest;
import java.util.Formatter;

public class Demo {
    public static void main(String[] args) throws Throwable {
        // Dalam contoh ini, titik akhir wilayah China (Hangzhou) digunakan. Tentukan titik akhir Anda yang sebenarnya. 
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum Anda menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket. Contoh: examplebucket. 
        String bucketName = "examplebucket";
        // Tentukan jalur lengkap objek. Jangan sertakan nama bucket di jalur lengkap. 
        String sourceImage = "exampleimage.png";
        // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou.
        String region = "cn-hangzhou";

        // Buat instans OSSClient.
        // Panggil metode shutdown untuk melepaskan sumber daya saat OSSClient tidak lagi digunakan. 
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);        
        OSS ossClient = OSSClientBuilder.create()
        .endpoint(endpoint)
        .credentialsProvider(credentialsProvider)
        .clientConfiguration(clientBuilderConfiguration)
        .region(region)               
        .build();

        try {
            // Ubah ukuran gambar menjadi tinggi dan lebar 100 piksel. 
            StringBuilder sbStyle = new StringBuilder();
            Formatter styleFormatter = new Formatter(sbStyle);
            String styleType = "image/resize,m_fixed,w_100,h_100";
            // Beri nama gambar yang diproses example-resize.png dan simpan gambar ke bucket tempat gambar sumber disimpan. 
            // Tentukan jalur lengkap objek. Jangan sertakan nama bucket di jalur lengkap. 
            String targetImage = "example-resize.png";
            styleFormatter.format("%s|sys/saveas,o_%s,b_%s", styleType,
                    BinaryUtil.toBase64String(targetImage.getBytes()),
                    BinaryUtil.toBase64String(bucketName.getBytes()));
            System.out.println(sbStyle.toString());
            ProcessObjectRequest request = new ProcessObjectRequest(bucketName, sourceImage, sbStyle.toString());
            GenericResult processResult = ossClient.processObject(request);
            String json = IOUtils.readStreamAsString(processResult.getResponse().getContent(), "UTF-8");
            processResult.getResponse().getContent().close();
            System.out.println(json);
        } catch (OSSException oe) {
            System.out.println("Menangkap OSSException, yang berarti permintaan Anda berhasil sampai ke OSS, "
                    + "tetapi ditolak dengan tanggapan kesalahan karena alasan tertentu.");
            System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
            System.out.println("Kode Kesalahan:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("ID Host:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Menangkap ClientException, yang berarti klien mengalami "
                    + "masalah internal yang serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Kesalahan:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum Anda menjalankan kode sampel ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur.
$provider = new EnvironmentVariableCredentialsProvider();
// Atur yourEndpoint ke titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Atur nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Atur jalur lengkap objek sumber. Misalnya, exampledir/exampleobject.jpg. Jalur lengkap tidak boleh menyertakan nama bucket.
$object = "exampledir/exampleobject.jpg";
// Atur jalur lengkap objek tujuan. Misalnya, example-new.jpg.
$save_object = "example-new.jpg";

function base64url_encode($data)
{
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}

$config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);
// Jika gambar sumber tidak ada di bucket yang ditentukan, unggah gambar ke bucket.
// $ossClient->uploadFile($bucket, $object, "D:\\localpath\\exampleobject.jpg");

// Ubah ukuran gambar ke lebar dan tinggi tetap 100 px, lalu putar 90 derajat.
$style = "image/resize,m_fixed,w_100,h_100/rotate,90";

$process = $style.
           '|sys/saveas'.
           ',o_'.base64url_encode($save_object).
           ',b_'.base64url_encode($bucket);

// Beri nama gambar yang diproses example-new.png dan simpan ke bucket saat ini.
$result = $ossClient->processObject($bucket, $object, $process);
// Cetak hasil pemrosesan.
print($result);
const OSS = require('ali-oss');

const client = new OSS({
  // Tentukan Wilayah tempat bucket berada. Misalnya, jika bucket Anda berada di Wilayah China (Hangzhou), atur Wilayah menjadi oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari Variabel lingkungan. Sebelum menjalankan kode contoh, pastikan Variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket Anda.
  bucket: 'yourbucketname'
});

const sourceImage = 'sourceObject.png';
const targetImage = 'targetObject.jpg';
async function processImage(processStr, targetBucket) {
  const result = await client.processObjectSave(
    sourceImage,
    targetImage,
    processStr,
    targetBucket
  );
  console.log(result.res.status);
}

// Ubah ukuran gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/resize,m_fixed,w_100,h_100", "target bucket")

// Potong gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/crop,w_100,h_100,x_100,y_100,r_1", "target bucket")

// Putar gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/rotate,90", "target bucket")

// Pertajam gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/sharpen,100", "target bucket")

// Tambahkan Watermark ke gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/watermark,text_SGVsbG8g5Zu-54mH5pyN5YqhIQ", "target bucket")

// Konversi format gambar dan konfigurasikan bucket tujuan untuk menyimpan gambar yang telah diproses.
processImage("image/format,jpg", "target bucket")
# -*- coding: utf-8 -*-
import os
import base64
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Dapatkan kredensial akses dari Variabel lingkungan. Sebelum menjalankan kode contoh, pastikan Variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan endpoint Wilayah tempat bucket berada. Misalnya, jika bucket berada di Wilayah China (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Tentukan ID Wilayah yang sesuai dengan endpoint. Contoh: cn-hangzhou. Parameter ini diperlukan jika Anda menggunakan algoritma signature V4.
region = "cn-hangzhou"

# Tentukan nama bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Tentukan nama bucket tempat gambar sumber disimpan.
source_bucket_name = 'srcbucket'
# Tentukan nama bucket tempat Anda ingin menyimpan gambar yang telah diproses. Bucket ini harus berada di Wilayah yang sama dengan bucket tempat gambar sumber disimpan.
target_bucket_name = 'destbucket'
# Tentukan nama gambar sumber. Jika gambar tidak disimpan di Direktori root bucket, Anda harus menentukan path lengkap gambar tersebut. Contoh: example/example.jpg.
source_image_name = 'example/example.jpg'

# Ubah ukuran gambar menjadi 100 × 100 piksel.
style = 'image/resize,m_fixed,w_100,h_100'
# Tentukan nama gambar yang telah diproses. Jika gambar tidak disimpan di Direktori root bucket, Anda harus menentukan path lengkap gambar tersebut. Contoh: exampledir/example.jpg.
target_image_name = 'exampledir/example.jpg'
process = "{0}|sys/saveas,o_{1},b_{2}".format(style, 
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_image_name))),
    oss2.compat.to_string(base64.urlsafe_b64encode(oss2.compat.to_bytes(target_bucket_name))))
result = bucket.process_object(source_image_name, process)
print(result)
// fromBucket dan toBucket menentukan nama bucket sumber dan tujuan.
// fromObjectKey dan toObjectKey menentukan nama objek sumber dan tujuan. Nama harus berupa jalur lengkap yang menyertakan 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 berhasil
                log.i("info", "Success");
            }

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

import (
	"encoding/base64"
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func HandleError(err error) {
    fmt.Println("Error:", err)
    os.Exit(-1)
}

func main() {
    // Dapatkan kredensial akses dari variabel lingkungan. Sebelum Anda menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi. 
    provider, err := oss.NewEnvironmentVariableCredentialsProvider()
    if err != nil {
    fmt.Println("Error:", err)
    os.Exit(-1)
    }

    // Buat instans OSSClient. 
    // Tentukan titik akhir wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur titik akhir ke https://oss-cn-hangzhou.aliyuncs.com. Tentukan titik akhir Anda yang sebenarnya. 
    // Tentukan wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur wilayah ke cn-hangzhou. Tentukan wilayah yang sebenarnya.
    clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
    clientOptions = append(clientOptions, oss.Region("yourRegion"))
    // Tentukan versi algoritma tanda tangan.
    clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
    client, err := oss.New("yourEndpoint", "", "", clientOptions...)
    if err != nil {
	    HandleError(err)
    }

    // Tentukan nama bucket tempat gambar sumber disimpan. Contoh: srcbucket. 
    bucketName := "SourceBucketName"
    bucket, err := client.Bucket(bucketName)
    if err != nil {
    HandleError(err)
    }
    // Tentukan nama gambar sumber. Jika gambar sumber tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap gambar. Contoh: example/example.jpg. 
    sourceImageName := "yourObjectName"
    // Tentukan nama bucket tempat Anda ingin menyimpan gambar yang diproses. Bucket harus berada di wilayah yang sama dengan bucket tempat gambar sumber disimpan. 
    targetBucketName := "TargetBucketName"
    // Tentukan nama gambar yang diproses. Jika gambar yang diproses tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap gambar. Contoh: exampledir/example.jpg. 
    targetImageName := "TargetObjectName"
    // Ubah ukuran gambar menjadi 100 x 100 piksel dan simpan gambar ke bucket tertentu. 
    style := "image/resize,m_fixed,w_100,h_100"
    process := fmt.Sprintf("%s|sys/saveas,o_%v,b_%v", style, base64.URLEncoding.EncodeToString([]byte(targetImageName)), base64.URLEncoding.EncodeToString([]byte(targetBucketName)))
    result, err := bucket.ProcessObject(sourceImageName, process)
    if err != nil {
    HandleError(err)
    } else {
    fmt.Println(result)
    }
}
OSSImagePersistRequest *request = [OSSImagePersistRequest new];
// Tentukan nama bucket tempat gambar sumber disimpan. 
request.fromBucket = @"srcbucket";
// Tentukan nama gambar sumber. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap gambar. Contoh: exampledir/src.jpg. 
request.fromObject = @"exampledir/src.jpg";
// Tentukan nama bucket yang menyimpan gambar yang diproses. Bucket harus berada di wilayah yang sama dengan bucket tempat gambar sumber disimpan. 
request.toBucket = @"destbucket";
// Tentukan nama gambar yang diproses.
request.toObject = @"exampledir/dest.jpg";
// Ubah ukuran gambar secara proporsional menjadi lebar 100 piksel dan simpan gambar yang diproses ke bucket yang ditentukan. 
request.action = @"image/resize,w_100";
// request.action = @"resize,w_100";
OSSTask * getTask = [client imageActionPersist:request];

[getTask continueWithBlock:^id _Nullable(OSSTask * _Nonnull task) {
    return nil;
}];
// [getTask waitUntilFinished];
#include <alibabacloud/oss/OssClient.h>
#include <sstream>
using namespace AlibabaCloud::OSS;

int main(void)
{
    /* Inisialisasi informasi akun OSS. */
            
    /* Atur yourEndpoint ke Endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com. */
    std::string Endpoint = "yourEndpoint";
    /* Atur yourRegion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Wilayah ke cn-hangzhou. */
    std::string Region = "yourRegion";
    /* Tentukan nama bucket, misalnya, examplebucket. */
    std::string BucketName = "examplebucket";
    /* Tentukan nama gambar sumber. Jika gambar tidak berada di direktori root bucket, sertakan path lengkapnya, misalnya, example/example.jpg. */
    std::string SourceObjectName = "example/example.jpg";
    /* Tentukan nama gambar yang diproses. Jika gambar tidak berada di direktori root bucket, sertakan path lengkapnya, misalnya, exampledir/example.jpg. */
    std::string TargetObjectName = "exampledir/example.jpg";

    /* Inisialisasi sumber daya jaringan. */
    InitializeSdk();

    ClientConfiguration conf;
    conf.signatureVersion = SignatureVersionType::V4;
    /* Dapatkan kredensial akses dari variabel lingkungan. Sebelum Anda menjalankan kode sampel ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah diatur. */
    auto credentialsProvider = std::make_shared<EnvironmentVariableCredentialsProvider>();
    OssClient client(Endpoint, credentialsProvider, conf);
    client.SetRegion(Region);

    /* Ubah ukuran gambar ke lebar dan tinggi tetap 100 px dan simpan ke bucket saat ini. */
    std::string Process = "image/resize,m_fixed,w_100,h_100";
    std::stringstream ss;
    ss  << Process 
    <<"|sys/saveas"
    << ",o_" << Base64EncodeUrlSafe(TargetObjectName)
    << ",b_" << Base64EncodeUrlSafe(BucketName);
    ProcessObjectRequest request(BucketName, SourceObjectName, ss.str());
    auto outcome = client.ProcessObject(request);
    if (outcome.isSuccess()) {
    std::cout << "Image processed successfully." << std::endl;
    } else {
    std::cout << "Failed to process image. Error code: " << outcome.error().Code()
              << ", Message: " << outcome.error().Message()
              << ", RequestId: " << outcome.error().RequestId() << std::endl;
    }

    /* Lepaskan sumber daya jaringan. */
    ShutdownSdk();
    return 0;
}

Gunakan RESTful API

Jika bisnis Anda memerlukan tingkat kustomisasi yang tinggi, Anda dapat langsung memanggil operasi RESTful API. Untuk memanggil RESTful API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda.

Saat menggunakan parameter saveas, Anda harus menyertakan opsi berikut:

Opsi

Deskripsi

o

Nama objek tempat Anda ingin menyimpan gambar yang telah diproses. Nilai opsi ini harus dikodekan dalam bentuk Base64 yang aman untuk URL. Untuk informasi selengkapnya, lihat Pengkodean Watermark.

b

Nama bucket tempat Anda ingin menyimpan gambar yang telah diproses. Nilai opsi ini harus dikodekan dalam bentuk Base64 yang aman untuk URL. Jika opsi ini tidak ditentukan, gambar yang telah diproses akan disimpan ke bucket saat ini.

Anda dapat menggunakan salah satu metode berikut untuk memproses gambar dan menyimpan gambar yang telah diproses ke bucket tertentu:

  • Kode contoh berikut memberikan contoh cara mengonfigurasi parameter IMG untuk memproses gambar dan menyimpan gambar yang telah diproses ke bucket tertentu:

    POST /ObjectName?x-oss-process HTTP/1.1
    Host: oss-example.oss.aliyuncs.com
    Content-Length: 247
    Date: Fri, 04 May 2012 03:21:12 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    // Ubah ukuran gambar sumber bernama test.jpg secara proporsional menjadi lebar 100 piksel dan simpan gambar yang telah diproses ke bucket bernama test.
    x-oss-process=image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA
  • Kode contoh berikut memberikan contoh cara menggunakan gaya gambar untuk memproses gambar dan menyimpan gambar yang telah diproses ke bucket tertentu:

    POST /ObjectName?x-oss-process HTTP/1.1
    Host: oss-example.oss.aliyuncs.com
    Content-Length: 247
    Date: Fri, 04 May 2012 03:22:13 GMT
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    
    // Gunakan gaya gambar bernama examplestyle untuk memproses gambar sumber bernama test.jpg dan simpan gambar yang telah diproses ke bucket bernama test.
    x-oss-process=style/examplestyle|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA