Tous les produits
Search
Centre de documentation

Object Storage Service:Traitement d'images (SDK Android)

Dernière mise à jour :Aug 28, 2026

Le service de traitement d'images (IMG) fourni par Object Storage Service (OSS) est un service sécurisé, économique et hautement fiable qui permet de traiter un grand nombre d'images. Une fois vos images chargées sur OSS, vous pouvez appeler des opérations d'API RESTful pour les traiter depuis n'importe quel appareil connecté à Internet, à tout moment et en tout lieu.

Remarques relatives à l'utilisation

  • Avant d'exécuter l'exemple de code présenté dans cette rubrique, créez une instance OSSClient en utilisant des méthodes telles que l'utilisation d'un nom de domaine personnalisé ou du Security Token Service (STS). Pour plus d'informations, consultez la section Initialisation (SDK Android).

Utilisation du service IMG

Remarque

Les paramètres IMG s'appliquent uniquement aux données d'image téléchargées et n'affectent pas les images sources. Pour remplacer les images sources par les images traitées, consultez la section Enregistrement des images traitées.

  • Accès anonyme

    String url = oss.presignPublicObjectURL(testBucket, testObject);
            OSSLog.logDebug("signPublicURL", "get url: " + url);
    Then, append the x-oss-process parameter to the URL. The parameter's value specifies the image processing operation.
  • Accès autorisé

    Pour traiter une image à l'aide du SDK, appelez la méthode request.setxOssProcess() afin de définir les paramètres de traitement pour la demande de téléchargement. Le code suivant illustre cette procédure :

    // Create a request to download an image.
    // Specify the bucket name (for example, examplebucket) and the object full path (for example, exampledir/exampleobject.txt). The object full path cannot contain the bucket name.
    GetObjectRequest request = new GetObjectRequest("examplebucket", "exampledir/exampleobject.txt");
    
    // Process the image.
    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) {
            // The request is successful.
            InputStream inputStream = result.getObjectContent();
    
            byte[] buffer = new byte[2048];
            int len;
    
            try {
                while ((len = inputStream.read(buffer)) != -1) {
                    // Process the downloaded data.
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onFailure(GetObjectRequest request, ClientException clientException, ServiceException serviceException) {
            // Handle the exception. You can add your own exception handling logic.
        }
    });
    Remarque

    Pour effectuer d'autres opérations sur l'image, modifiez l'argument transmis à request.setxOssProcess().

  • Accès via le SDK OSS

    GetObjectRequest request = new GetObjectRequest("bucket-name", "image-name");
    request.setxOssProcess("image/resize,m_lfit,w_100,h_100");  // Set image processing parameters.
    OSSAsyncTask task = oss.asyncGetObject(request, getCallback);

Enregistrement des images traitées

L'exemple de code suivant montre comment enregistrer des images traitées :

// fromBucket and toBucket specify the source and destination bucket names.
// fromObjectKey and toObjectKey specify the source and destination object names. The names must be full paths that include the file extension, for example, abc/efg/123.jpg.
// action specifies the image processing operation, such as "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) {
                // Success callback
                log.i("info", "Success");
            }

            @Override
            public void onFailure(ImagePersistRequest request, ClientException clientException, ServiceException serviceException) {
              // The request failed.
              if (clientException != null) {
                  // A client-side exception occurred, such as a network error.
                  clientException.printStackTrace();
              }
              if (serviceException != null) {
                  // A server-side exception occurred.
                  Log.e("ErrorCode", serviceException.getErrorCode());
                  Log.e("RequestId", serviceException.getRequestId());
                  Log.e("HostId", serviceException.getHostId());
                  Log.e("RawMessage", serviceException.getRawMessage());
              }
            }
        });

Références

  • Pour plus d'informations sur les paramètres IMG pris en charge, consultez la section Paramètres IMG.

  • Pour consulter l'exemple de code complet utilisé pour effectuer des opérations IMG, rendez-vous sur GitHub.

  • Pour plus d'informations sur l'initialisation d'une instance OSSClient, consultez la section Initialisation.