O upload simples usa o método PutObject para enviar um único arquivo, chamado de objeto. Use o upload simples para enviar arquivos locais ou arrays binários byte[]. Sempre verifique os logs.
Notas de uso
execute o código de exemplo deste tópico. Antes, crie uma instância do OSSClient por meio de métodos como o uso de um nome de domínio personalizado ou do Security Token service (STS). Para mais informações, consulte Initialization (Android SDK).
Permissões
Por padrão, uma conta alibaba cloud tem permissões totais. Os usuários ou funções do ram em uma conta alibaba cloud não possuem permissões por padrão. A conta alibaba cloud ou o administrador da conta deve conceder as permissões de operação por meio de ram policies ou Bucket Policy.
|
API |
Ação |
Descrição |
|
PutObject |
|
Envia um objeto. |
|
|
Obrigatório caso especifique as tags de objeto usando o cabeçalho |
|
|
|
Obrigatório caso defina o cabeçalho |
|
|
|
Enviar um arquivo local
Você pode enviar arquivos locais para o OSS de forma síncrona ou assíncrona. Se necessário, cancele a tarefa.
Enviar um array binário byte[]
O código a seguir mostra como enviar sincronamente um array binário byte[] como um objeto chamado exampleobject.txt para a pasta exampledir/ no bucket examplebucket.
byte[] uploadData = new byte[100 * 1024];
new Random().nextBytes(uploadData);
// Create an upload request.
// Specify the bucket name (for example, examplebucket) and the full path of the object (for example, exampledir/exampleobject.txt).
// The full path of the object cannot contain the bucket name.
PutObjectRequest put = new PutObjectRequest("examplebucket", "exampledir/exampleobject.txt", uploadData);
try {
PutObjectResult putResult = oss.putObject(put);
Log.d("PutObject", "UploadSuccess");
Log.d("ETag", putResult.getETag());
Log.d("RequestId", putResult.getRequestId());
} catch (ClientException e) {
// Client exception, such as a network exception.
e.printStackTrace();
} catch (ServiceException e) {
// Server exception.
Log.e("RequestId", e.getRequestId());
Log.e("ErrorCode", e.getErrorCode());
Log.e("HostId", e.getHostId());
Log.e("RawMessage", e.getRawMessage());
}
Referências
Para o código de exemplo completo de um upload simples, consulte o exemplo no GitHub.
Para mais informações sobre a operação de API de upload simples, consulte PutObject.
Para mais informações sobre como inicializar uma instância do OSSClient, consulte Initialize an OSSClient instance for Android.