Tous les produits
Search
Centre de documentation

Object Storage Service:Upload callbacks (Android SDK)

Dernière mise à jour :Aug 18, 2026

Une fois un objet chargé, Object Storage Service (OSS) peut envoyer un callback au serveur d'application. Pour configurer les callbacks de chargement, ajoutez simplement les paramètres requis à la requête de chargement envoyée à OSS. Cette rubrique explique comment configurer les callbacks de chargement.

Remarque

Par rapport au chargement simple, le chargement d'un objet avec un callback configuré impose au client un temps d'attente plus long pour le traitement de la requête et la réception de la réponse.

Le chargement de l'objet et le callback de chargement sont asynchrones : le fichier local est chargé vers OSS avant l'exécution du callback. Le fichier est donc bien chargé même si le callback échoue.

Notes d'utilisation

  • Avant d'exécuter l'exemple de code de cette rubrique, créez une instance OSSClient en utilisant un nom de domaine personnalisé ou le Security Token Service (STS). Pour plus d'informations, consultez Initialisation (SDK Android).

Exemples

L'exemple de code suivant montre comment configurer un callback de chargement :

// Create an upload request.
// Specify the bucket name, the full path of the object, and the full path of the local file. For example, examplebucket, exampledir/exampleobject.txt, and /storage/emulated/0/oss/examplefile.txt.
// The full path of the object cannot contain the bucket name.
PutObjectRequest put = new PutObjectRequest("examplebucket", "exampledir/exampleobject.txt", "/storage/emulated/0/oss/examplefile.txt");

put.setCallbackParam(new HashMap<String, String>() {
    {
        put("callbackUrl", "http://oss-demo.aliyuncs.com:23450");
        put("callbackHost", "yourCallbackHost");
        put("callbackBodyType", "application/json");
        put("callbackBody", "{\"mimeType\":${mimeType},\"size\":${size}}");
    }
});

OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
    @Override
    public void onSuccess(PutObjectRequest request, PutObjectResult result) {
        Log.d("PutObject", "UploadSuccess");

        // This value contains data only if servercallback is set.
        String serverCallbackReturnJson = result.getServerCallbackReturnBody();

        Log.d("servercallback", serverCallbackReturnJson);
    }

    @Override
    public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
        // Handle exceptions.
    }
});
        

L'exemple de code suivant montre comment configurer des paramètres personnalisés :

put.setCallbackParam(new HashMap<String, String>() {
    {
        put("callbackUrl", "http://oss-demo.aliyuncs.com:23450");
        put("callbackHost", "yourCallbackHost");
        put("callbackBodyType", "application/json");
        put("callbackBody", "{\"object\":${object},\"size\":${size},\"my_var1\":${x:var1},\"my_var2\":${x:var2}}");
    }
});

put.setCallbackVars(new HashMap<String, String>() {
    {
        put("x:var1", "value1");
        put("x:var2", "value2");
    }
});
        

Références

  • Pour consulter l'exemple de code complet de configuration des callbacks de chargement, rendez-vous sur GitHub.

  • Pour plus d'informations sur l'opération API permettant de configurer les callbacks de chargement, consultez Callback.

  • Pour savoir comment initialiser une instance OSSClient, consultez Initialisation.