Todos os produtos
Search
Central de documentação

Object Storage Service:Upload callbacks (Android SDK)

Última atualização: Jul 03, 2026

Após o upload de um objeto, o Object Storage Service (OSS) pode enviar um callback para o servidor de aplicativos. Para configurar callbacks de upload, adicione os parâmetros de callback necessários à solicitação de upload enviada ao OSS. Este tópico descreve como configurar callbacks de upload.

Nota

Em comparação com o upload simples, o upload de objetos com callback configurado exige que o cliente aguarde mais tempo para processar a solicitação e retornar uma resposta.

O upload do objeto e o callback de upload são executados de forma assíncrona. O arquivo local é enviado ao OSS antes da execução do callback de upload. Portanto, o arquivo local é carregado mesmo que o retorno do callback de upload falhe.

Observações de uso

  • Antes de executar o código de exemplo deste tópico, crie uma instância OSSClient usando métodos como nome de domínio personalizado ou Security Token Service (STS). Para obter mais informações, consulte Inicialização (Android SDK).

Exemplos

O código de exemplo a seguir mostra como configurar um callback de upload:

// 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.
    }
});
        

O exemplo a seguir ilustra a configuração de parâmetros personalizados:

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");
    }
});
        

Referências

  • Para acessar o código de exemplo completo sobre configuração de callbacks de upload, visite o GitHub.

  • Para obter detalhes sobre a operação de API usada na configuração de callbacks de upload, consulte Callback.

  • Saiba mais sobre como inicializar uma instância OSSClient em Inicialização.