Class Info |
|---|
public class StorageReference implements Comparable<StorageReference> 云端文件的引用,提供对象的列举、上传、下载、删除、元数据更新等各项操作的封装。 |
Qualifier and Type | Method Name and Description |
|---|---|
| 获取引用所在AGCStorageManagement实例。 | |
StorageReference | child(String objectPath) 获取子目录的引用。 |
StorageReference | 获取父目录的引用。 |
StorageReference | getRoot() 获取根目录引用。 |
String | 获取引用所在的存储实例名称。 |
String | getName() 获取文件或目录名。 |
String | getPath() 获取云端文件或目录的路径。 |
Task<FileMetadata> | 获取文件或目录的元数据。 |
Task<FileMetadata> | updateFileMetadata(FileMetadata attribute) 更新文件元数据,采用覆盖更新的方式。 |
Task<void> | delete() 删除云端文件。 |
Task<ListResult> | list(int max, String marker) 分页获取目录下的文件列表。 |
Task<ListResult> | list(int max) 获取目录下指定文件数量的文件列表。 |
Task<ListResult> | listAll() 获取目录下所有文件列表,包含文件和子目录。 |
putFile(File srcFile, FileMetadata attribute, Long offset) 将本地文件存储到云端,从offset位置继续上传文件的剩下部分。 | |
putFile(File srcFile, FileMetadata attribute) 将本地文件存储到云端。 | |
putFile(File srcFile) 将本地文件存储到云端。 | |
putBytes(byte[] bytes, FileMetadata attribute) 将本地文件的二进制字节数组上传到云端。 | |
putBytes(byte[] bytes, FileMetadata attribute, Long offset) 从offset位置开始将本地的二进制字节数组上传到云端。 | |
getFile(File destFile) 下载一个云端文件到本地路径并指定文件名称。 | |
getFile(Uri destUri) 下载一个云端文件到本地路径并指定文件名称。 | |
| 返回一个流式的下载任务。 | |
getStream(StreamDownloadTask.StreamHandler streamHandler) 返回一个实现了数据流处理事件的流式下载任务。 | |
Task<byte[]> | getBytes(final long maxDownloadBytes) 从云端存储中下载指定的数据到二进制字节数组中。 |
Task<Uri> | 获取云端文件的分享地址。 |
List<UploadTask> | 获取当前引用下处于运行状态的上传任务列表。 |
List<DownloadTask> | 获取当前引用下处于运行状态的下载任务列表。 |
int | compareTo(StorageReference other) 比较引用地址。 |
String | toString() 返回引用的Url地址。 |
boolean | equals(Object other) 比较引用是否相同。 |
int | hashCode() 返回引用的hashcode值。 |
Method |
|---|
public AGCStorageManagement getStorage() 获取AGCStorageManagement实例。 |
Return
Type | Description |
|---|---|
AGCStorageManagement | 返回引用所在的AGCStorageManagement实例。 |
Method |
|---|
public StorageReference child(String objectPath) 获取子目录的引用。 |
当objectPath为空时,会抛出NullPointerException类型的异常。
Parameters
Name | Description |
|---|---|
objectPath | 子目录的路径。如果路径不存在,则返回null。 |
Return
Type | Description |
|---|---|
StorageReference | 返回子目录的StorageReference实例。 |
Method |
|---|
public StorageReference getParent() 获取父目录的引用。 |
Return
Type | Description |
|---|---|
StorageReference | 返回父目录的StorageReference实例。如果当前为根目录,则返回根目录的引用。 |
Method |
|---|
public StorageReference getRoot() 获取根目录的引用。 |
Return
Type | Description |
|---|---|
StorageReference | 返回根目录的StorageReference实例。 |
Method |
|---|
public String getBucket() 获取引用所在的存储实例名称。 |
Return
Type | Description |
|---|---|
String | 存储实例名称。 |
Method |
|---|
public String getPath() 获取云端文件或目录的路径。 |
Return
Type | Description |
|---|---|
String | 返回云端文件或目录的路径。 |
Method |
|---|
public Task<FileMetadata> getFileMetadata() 获取文件或目录的元数据。 |
Return
Type | Description |
|---|---|
Task<FileMetadata> | 文件或目录的元数据获取任务的结果。 |
Method |
|---|
public Task<FileMetadata> updateFileMetadata(FileMetadata attribute) 更新文件的元数据,采用覆盖更新的方式。 |
Parameters
Name | Description |
|---|---|
attribute | 需要更新的文件的元数据。 |
Return
Type | Description |
|---|---|
Task<FileMetadata> | 元数据的更新任务结果。 |
Method |
|---|
public Task<ListResult> list(int max, String marker) 分页获取当前目录下的文件列表,包括文件和子目录。 |
Parameters
Name | Description |
|---|---|
max | 分页获取时,指定获取的文件和子目录的总数量。 限制:max的范围在1~1000之间。 |
marker | 分页标识。先使用ListResult.getPageMarker方法获取下一页的分页标识,再调用本方法获取下一页数据。 |
Return
Type | Description |
|---|---|
Task<ListResult> | 文件列表的结果。 |
Method |
|---|
public Task<ListResult> list(int max) 获取目录下指定数量的文件和子目录的列表。 |
Parameters
Name | Description |
|---|---|
max | 需要获取的文件和子目录的总数量。 限制:max的范围在1~1000之间。 |
Return
Type | Description |
|---|---|
Task<ListResult> | 列表结果。 |
Method |
|---|
public Task<ListResult> listAll() 获取目录下所有对象,包含文件和子目录。 |
Return
Type | Description |
|---|---|
Task<ListResult> | 文件列表结果。 |
Method |
|---|
public UploadTask putFile(File srcFile, FileMetadata attribute, Long offset) 将本地文件的二进制数据存储到云端,支持断点续传。 |
当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
srcFile | 待上传文件的二进制数据。 支持的最大文件大小为50GB。 |
attribute | 文件或目录的元数据。 |
offset | 文件的断点续传位置,设置为文件已经传输的字节数,可通过UploadTask.UploadResult.getBytesTransferred()方法获取。 |
Return
Type | Description |
|---|---|
返回上传任务的UploadTask实例。 |
Method |
|---|
public UploadTask putFile(File srcFile, FileMetadata attribute) 将本地文件的二进制数据存储到云端,支持自定义文件元数据。 |
当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
srcFile | 待上传文件或目录的二进制数据。 支持的最大文件大小为50GB。 |
attribute | 文件或目录的元数据。 |
Return
Type | Description |
|---|---|
UploadTask | 返回上传任务的UploadTask实例。 |
Method |
|---|
public UploadTask putFile(File srcFile) 将本地文件的二进制数据存储到云端。 |
当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
srcFile | 待上传文件或目录的二进制数据。 支持的最大文件大小为50GB。 |
Return
Type | Description |
|---|---|
返回上传任务的UploadTask实例。 |
Method |
|---|
public UploadTask putBytes(byte[] bytes, FileMetadata attribute) 将本地文件的二进制字节数组上传到云端。 |
当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
bytes | 二进制字节数组。 支持的最大文件为大小5GB。 |
attribute | 文件的元数据。 |
Return
Type | Description |
|---|---|
返回上传任务的UploadTask实例。 |
Method |
|---|
public UploadTask putBytes(byte[] bytes, FileMetadata attribute, Long offset) 从offset位置开始将本地的二进制字节数组上传到云端。 |
当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
bytes | 二进制字节数组。 支持的最大文件大小为5GB。 |
attribute | 文件的元数据。 |
offset | 二进制字节数组的断点续传位置。 |
Return
Type | Description |
|---|---|
返回上传任务的UploadTask实例。 |
Method |
|---|
public DownloadTask getFile(File destFile) 下载一个云端文件到本地路径并指定文件名称(文件由App管理,当本地文件大小超过0字节时,该接口会将已经下载的文件大小作为断点续传位置,继续从云端下载)。 |
当下载文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
destFile | 待写入文件路径,需提前创建。 |
Return
Type | Description |
|---|---|
返回下载任务的DownloadTask实例。 |
Method |
|---|
public DownloadTask getFile(Uri destUri) 下载一个云端文件到本地路径并指定文件名称(文件由App管理,当本地文件大小超过0字节时,该接口会将已经下载的文件大小作为断点续传位置,继续从云端下载)。 |
当下载文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。
Parameters
Name | Description |
|---|---|
destUri | 待写入Uri路径,需提前创建。 |
Return
Type | Description |
|---|---|
返回下载任务的DownloadTask实例。 |
Method |
|---|
public StreamDownloadTask getStream() 返回一个流式的下载任务。 |
Return
Type | Description |
|---|---|
StreamDownloadTask | 返回下载任务的StreamDownloadTask实例。 |
Method |
|---|
public StreamDownloadTask getStream(StreamDownloadTask.StreamHandler streamHandler) 返回一个实现了数据流处理事件的流式下载任务。 |
Parameters
Name | Description |
|---|---|
streamHandler | 数据流处理事件。 |
Return
Type | Description |
|---|---|
StreamDownloadTask | 返回下载任务的StreamDownloadTask实例。 |
Method |
|---|
public Task<byte[]> getBytes(final long maxDownloadBytes) 从云端存储中下载指定的数据到二进制字节数组中。 |
Parameters
Name | Description |
|---|---|
maxDownloadBytes | 最大下载的指定数据大小。 |
Return
Type | Description |
|---|---|
Task<byte[]> | 返回下载任务的Task<byte[]>实例。 |
Method |
|---|
public Task<Uri> getDownloadUrl() 获取云端文件的分享地址。 |
Return
Type | Description |
|---|---|
Task<Uri> | 返回下载任务的Task<Uri>实例。 |
Method |
|---|
public List<UploadTask> getActiveUploadTasks() 获取当前引用下处于运行状态的上传任务列表。 |
Return
Type | Description |
|---|---|
List<UploadTask> | 返回当前引用下处于运行状态的上传任务列表。 |
Method |
|---|
public List<DownloadTask> getActiveDownloadTasks() 获取当前引用下处于运行状态的下载任务列表。 |
Return
Type | Description |
|---|---|
List<DownloadTask> | 返回当前引用下处于运行状态的下载任务列表。 |
Method |
|---|
public int compareTo(StorageReference other) 比较引用地址。 |
Parameters
Name | Description |
|---|---|
other | 另外一个引用。 |
Return
Type | Description |
|---|---|
int | 比较引用的结果。 |