La carga simple usa el método PutObject para cargar un solo archivo, al que se le denomina objeto. Con este método puede cargar archivos locales o arreglos binarios byte[].
Notas de uso
Antes de ejecutar el código de ejemplo de este tema, cree una instancia de OSSClient mediante métodos como el uso de un nombre de dominio personalizado o Security Token Service (STS). Para obtener más información, consulte Initialization (Android SDK).
Permisos
De forma predeterminada, una cuenta de Alibaba Cloud tiene permisos completos. Los usuarios o roles de RAM asociados a una cuenta de Alibaba Cloud no cuentan con ningún permiso por defecto. La cuenta de Alibaba Cloud o su administrador deben otorgar los permisos de operación correspondientes mediante RAM policies o Bucket Policy.
|
API |
Action |
Descripción |
|
PutObject |
|
Carga un objeto. |
|
|
Obligatorio si especifica etiquetas de objeto mediante el encabezado |
|
|
|
Obligatorio si el encabezado |
|
|
|
Cargar un archivo local
Los archivos locales se pueden cargar en OSS de forma síncrona o asíncrona.
Cargar un arreglo binario byte[]
A continuación se muestra cómo cargar de forma síncrona un arreglo binario byte[] como un objeto llamado exampleobject.txt en la carpeta exampledir/ del 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());
}
Referencias
Para consultar el código de ejemplo completo de una carga simple, revise el ejemplo en GitHub.
Para obtener más información sobre la API de carga simple, consulte PutObject.
Para conocer los detalles sobre cómo inicializar una instancia de OSSClient, consulte Initialize an OSSClient instance for Android.