下载对象

对象是存储数据的基本单元。对象由元信息(Object Meta),用户数据(Data)和文件名(Key)组成。对象由桶内部唯一的Key来标识。本文介绍如何下载对象。

接口定义:

// 简化接口	
public S3Object getObject(String bucketName, String key)
// 完整接口
public S3Object getObject(GetObjectRequest getObjectRequest)

参数:

参数名 类型 说明
s3ObjectIdBuilder S3ObjectIdBuilder 包含bucketName和key
range long[] 获取文件的区间
generalProgressListener ProgressListener 进度回调

代码示例:

    public void GetObjects(String bucketName, String objectKey,
                            OnS3ResponseListener<S3Object> listener) {
        GlobalThreadPool.getInstance().execute(() -> {
            try {
                S3Object result = sS3Client.getObject(bucketName, objectKey);
                Handler mainHandler = new Handler(Looper.getMainLooper());
                mainHandler.post(() -> listener.onResponse(result));
            } catch (Exception e) {
                Handler mainHandler = new Handler(Looper.getMainLooper());
                mainHandler.post(() -> listener.onError());
            }
        });
    }