目录

StorageReference

Class Info

public class StorageReference implements Comparable<StorageReference>

云端文件的引用,提供对象的列举、上传、下载、删除、元数据更新等各项操作的封装。

Method Summary

Qualifier and Type

Method Name and Description

AGCStorageManagement

getStorage()

获取引用所在AGCStorageManagement实例。

StorageReference

child(String objectPath)

获取子目录的引用。

StorageReference

getParent()

获取父目录的引用。

StorageReference

getRoot()

获取根目录引用。

String

getBucket()

获取引用所在的存储实例名称。

String

getName()

获取文件或目录名。

String

getPath()

获取云端文件或目录的路径。

Task<FileMetadata>

getFileMetadata()

获取文件或目录的元数据。

Task<FileMetadata>

updateFileMetadata(FileMetadata attribute)

更新文件元数据,采用覆盖更新的方式。

Task<void>

delete()

删除云端文件。

Task<ListResult>

list(int max, String marker)

分页获取目录下的文件列表。

Task<ListResult>

list(int max)

获取目录下指定文件数量的文件列表。

Task<ListResult>

listAll()

获取目录下所有文件列表,包含文件和子目录。

UploadTask

putFile(File srcFile, FileMetadata attribute, Long offset)

将本地文件存储到云端,从offset位置继续上传文件的剩下部分。

UploadTask

putFile(File srcFile, FileMetadata attribute)

将本地文件存储到云端。

UploadTask

putFile(File srcFile)

将本地文件存储到云端。

UploadTask

putBytes(byte[] bytes, FileMetadata attribute)

将本地文件的二进制字节数组上传到云端。

UploadTask

putBytes(byte[] bytes, FileMetadata attribute, Long offset)

从offset位置开始将本地的二进制字节数组上传到云端。

DownloadTask

getFile(File destFile)

下载一个云端文件到本地路径并指定文件名称。

DownloadTask

getFile(Uri destUri)

下载一个云端文件到本地路径并指定文件名称。

StreamDownloadTask

getStream()

返回一个流式的下载任务。

StreamDownloadTask

getStream(StreamDownloadTask.StreamHandler streamHandler)

返回一个实现了数据流处理事件的流式下载任务。

Task<byte[]>

getBytes(final long maxDownloadBytes)

从云端存储中下载指定的数据到二进制字节数组中。

Task<Uri>

getDownloadUrl()

获取云端文件的分享地址。

List<UploadTask>

getActiveUploadTasks()

获取当前引用下处于运行状态的上传任务列表。

List<DownloadTask>

getActiveDownloadTasks()

获取当前引用下处于运行状态的下载任务列表。

int

compareTo(StorageReference other)

比较引用地址。

String

toString()

返回引用的Url地址。

boolean

equals(Object other)

比较引用是否相同。

int

hashCode()

返回引用的hashcode值。

Methods

[h2]getStorage

Method

public AGCStorageManagement getStorage()

获取AGCStorageManagement实例。

Return

Type

Description

AGCStorageManagement

返回引用所在的AGCStorageManagement实例。

[h2]child

Method

public StorageReference child(String objectPath)

获取子目录的引用。

当objectPath为空时,会抛出NullPointerException类型的异常。

Parameters

Name

Description

objectPath

子目录的路径。如果路径不存在,则返回null。

Return

Type

Description

StorageReference

返回子目录的StorageReference实例。

[h2]getParent

Method

public StorageReference getParent()

获取父目录的引用。

Return

Type

Description

StorageReference

返回父目录的StorageReference实例。如果当前为根目录,则返回根目录的引用。

[h2]getRoot

Method

public StorageReference getRoot()

获取根目录的引用。

Return

Type

Description

StorageReference

返回根目录的StorageReference实例。

[h2]getBucket

Method

public String getBucket()

获取引用所在的存储实例名称。

Return

Type

Description

String

存储实例名称。

[h2]getName

Method

public String getName()

获取文件或目录名。

Return

Type

Description

String

返回云端文件或目录名。

[h2]getPath

Method

public String getPath()

获取云端文件或目录的路径。

Return

Type

Description

String

返回云端文件或目录的路径。

[h2]getFileMetadata

Method

public Task<FileMetadata> getFileMetadata()

获取文件或目录的元数据。

Return

Type

Description

Task<FileMetadata>

文件或目录的元数据获取任务的结果。

[h2]updateFileMetadata

Method

public Task<FileMetadata> updateFileMetadata(FileMetadata attribute)

更新文件的元数据,采用覆盖更新的方式。

Parameters

Name

Description

attribute

需要更新的文件的元数据。

Return

Type

Description

Task<FileMetadata>

元数据的更新任务结果。

[h2]delete

Method

public Task<void> delete()

删除云端文件。

Return

Type

Description

Task<void>

删除任务的结果。

[h2]list

Method

public Task<ListResult> list(int max, String marker)

分页获取当前目录下的文件列表,包括文件和子目录。

  • 当max存在参数错误时,会抛出IllegalArgumentException类型的异常。
  • 当marker为空时,会抛出NullPointerException类型的异常。

Parameters

Name

Description

max

分页获取时,指定获取的文件和子目录的总数量。

限制:max的范围在1~1000之间。

marker

分页标识。先使用ListResult.getPageMarker方法获取下一页的分页标识,再调用本方法获取下一页数据。

Return

Type

Description

Task<ListResult>

文件列表的结果。

[h2]list

Method

public Task<ListResult> list(int max)

获取目录下指定数量的文件和子目录的列表。

Parameters

Name

Description

max

需要获取的文件和子目录的总数量。

限制:max的范围在1~1000之间。

Return

Type

Description

Task<ListResult>

列表结果。

[h2]listAll

Method

public Task<ListResult> listAll()

获取目录下所有对象,包含文件和子目录。

Return

Type

Description

Task<ListResult>

文件列表结果。

[h2]putFile

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

返回上传任务的UploadTask实例。

[h2]putFile

Method

public UploadTask putFile(File srcFile, FileMetadata attribute)

将本地文件的二进制数据存储到云端,支持自定义文件元数据。

当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

srcFile

待上传文件或目录的二进制数据。

支持的最大文件大小为50GB。

attribute

文件或目录的元数据。

Return

Type

Description

UploadTask

返回上传任务的UploadTask实例。

[h2]putFile

Method

public UploadTask putFile(File srcFile)

将本地文件的二进制数据存储到云端。

当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

srcFile

待上传文件或目录的二进制数据。

支持的最大文件大小为50GB。

Return

Type

Description

UploadTask

返回上传任务的UploadTask实例。

[h2]putBytes

Method

public UploadTask putBytes(byte[] bytes, FileMetadata attribute)

将本地文件的二进制字节数组上传到云端。

当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

bytes

二进制字节数组。

支持的最大文件为大小5GB。

attribute

文件的元数据。

Return

Type

Description

UploadTask

返回上传任务的UploadTask实例。

[h2]putBytes

Method

public UploadTask putBytes(byte[] bytes, FileMetadata attribute, Long offset)

从offset位置开始将本地的二进制字节数组上传到云端。

当上传文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

bytes

二进制字节数组。

支持的最大文件大小为5GB。

attribute

文件的元数据。

offset

二进制字节数组的断点续传位置。

Return

Type

Description

UploadTask

返回上传任务的UploadTask实例。

[h2]getFile

Method

public DownloadTask getFile(File destFile)

下载一个云端文件到本地路径并指定文件名称(文件由App管理,当本地文件大小超过0字节时,该接口会将已经下载的文件大小作为断点续传位置,继续从云端下载)。

当下载文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

destFile

待写入文件路径,需提前创建。

Return

Type

Description

DownloadTask

返回下载任务的DownloadTask实例。

[h2]getFile

Method

public DownloadTask getFile(Uri destUri)

下载一个云端文件到本地路径并指定文件名称(文件由App管理,当本地文件大小超过0字节时,该接口会将已经下载的文件大小作为断点续传位置,继续从云端下载)。

当下载文件设置的参数异常时,会抛出IllegalArgumentException类型的异常。

Parameters

Name

Description

destUri

待写入Uri路径,需提前创建。

Return

Type

Description

DownloadTask

返回下载任务的DownloadTask实例。

[h2]getStream

Method

public StreamDownloadTask getStream()

返回一个流式的下载任务。

Return

Type

Description

StreamDownloadTask

返回下载任务的StreamDownloadTask实例。

[h2]getStream

Method

public StreamDownloadTask getStream(StreamDownloadTask.StreamHandler streamHandler)

返回一个实现了数据流处理事件的流式下载任务。

Parameters

Name

Description

streamHandler

数据流处理事件。

Return

Type

Description

StreamDownloadTask

返回下载任务的StreamDownloadTask实例。

[h2]getBytes

Method

public Task<byte[]> getBytes(final long maxDownloadBytes)

从云端存储中下载指定的数据到二进制字节数组中。

Parameters

Name

Description

maxDownloadBytes

最大下载的指定数据大小。

Return

Type

Description

Task<byte[]>

返回下载任务的Task<byte[]>实例。

[h2]getDownloadUrl

Method

public Task<Uri> getDownloadUrl()

获取云端文件的分享地址。

Return

Type

Description

Task<Uri>

返回下载任务的Task<Uri>实例。

[h2]getActiveUploadTasks

Method

public List<UploadTask> getActiveUploadTasks()

获取当前引用下处于运行状态的上传任务列表。

Return

Type

Description

List<UploadTask>

返回当前引用下处于运行状态的上传任务列表。

[h2]getActiveDownloadTasks

Method

public List<DownloadTask> getActiveDownloadTasks()

获取当前引用下处于运行状态的下载任务列表。

Return

Type

Description

List<DownloadTask>

返回当前引用下处于运行状态的下载任务列表。

[h2]compareTo

Method

public int compareTo(StorageReference other)

比较引用地址。

Parameters

Name

Description

other

另外一个引用。

Return

Type

Description

int

比较引用的结果。

[h2]toString

Method

public String toString()

返回引用的Url地址。

Return

Type

Description

String

Url地址信息。

[h2]equals

Method

public boolean equals(Object other)

比较引用是否相同。

Parameters

Name

Description

other

另外一个引用。

Return

Type

Description

boolean

引用是否相同。

  • true:相同。
  • false:不相同。

[h2]hashCode

Method

public int hashCode()

返回引用的hashcode值。

Return

Type

Description

int

hashcode值。