public final class AppendObjectRequest extends ObjectRequest
追加上传对象的请求。
追加上传的对象,每个分块大小默认最大为5GB,无最小限制,同时通过追加方式产生的对象大小不得超过5GB。如果 Position 的值和当前对象的长度不致,COS 会返回 409 错误。 如果追加一个 normal 属性的文件,COS 会返回 409 ObjectNotAppendable。
appendable 的对象不可以被复制,不参与版本管理,不参与生命周期管理,不可跨区域复制。
CosXmlRequest.OnRequestWeightListener| 限定符和类型 | 字段和说明 |
|---|---|
java.io.InputStream |
inputStream |
cosPathbucket, noSignHeaders, noSignParams, priority, qCloudTaskStateListener, queryParameters, region, requestHeaders, requestURL, signSourceProvider| 构造器和说明 |
|---|
AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
byte[] data,
long position) |
AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
java.io.InputStream inputStream,
long position) |
AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
java.lang.String srcPath,
long position) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
checkParameters()
sdk 参数校验
|
byte[] |
getData()
获取用户设置的字节数组
|
long |
getFileLength()
获取用户设置的输入流读取的字节长度
|
java.lang.String |
getMethod()
获取HTTP请求方法
RequestMethod |
long |
getPosition()
获取设置的追加操作起点
|
CosXmlProgressListener |
getProgressListener()
获取用户设置的进度监听
|
java.util.Map<java.lang.String,java.lang.String> |
getQueryString()
获取url query集合
|
RequestBodySerializer |
getRequestBody()
获取请求体
|
java.lang.String |
getSrcPath()
获取设置的本地文件路径
|
void |
setCacheControl(java.lang.String cacheControl)
设置缓存策略
即RFC 2616 中定义的Cache-Control头部
|
void |
setContentDisposition(java.lang.String contentDisposition)
设置文件名称。
|
void |
setContentEncodeing(java.lang.String contentEncoding)
设置编码格式。
|
void |
setData(byte[] data)
设置上传的字节数组
可以设置上传本地文件、字节数组或者输入流。
|
void |
setExpires(java.lang.String expires)
设置过期时间。
|
void |
setPosition(long position)
追加操作的起始点,单位:字节;
首次追加 position=0,后续追加 position= 当前 Object 的 content-length
|
void |
setProgressListener(CosXmlProgressListener progressListener)
设置上传进度监听
|
void |
setSrcPath(java.lang.String srcPath)
设置上传的本地文件路径
可以设置上传本地文件、字节数组或者输入流。
|
void |
setXCOSACL(COSACL cosacl)
设置Bucket的ACL信息
|
void |
setXCOSACL(java.lang.String cosacl)
设置Bucket访问权限
有效值: private :私有,默认值 public-read :公有读 public-read-write :公有读写 |
void |
setXCOSGrantRead(ACLAccount aclAccount)
单独明确赋予用户读权限
|
void |
setXCOSGrantWrite(ACLAccount aclAccount)
赋予被授权者写的权限
|
void |
setXCOSMeta(java.lang.String key,
java.lang.String value)
自定义的头部信息
key需要以x-cos-meta-开头
|
void |
setXCOSReadWrite(ACLAccount aclAccount)
赋予被授权者读写权限。
|
getContentType, getCosPath, getPath, setCosPath, setCOSServerSideEncryption, setCOSServerSideEncryptionWithCustomerKey, setCOSServerSideEncryptionWithKMSaddHeader, addNoSignHeader, addNoSignParams, addQuery, attachMetrics, getBucket, getHttpTask, getKeyTime, getMetrics, getNoSignHeaders, getNoSignParams, getPriority, getQueryEncodedString, getRegion, getRequestHeaders, getRequestHost, getRequestURL, getSignSourceProvider, getSTSCredentialScope, getWeight, headersHasUnsafeNonAscii, isNeedMD5, isSignInUrl, isSupportAccelerate, isSupportAccelerate, setNeedMD5, setOnRequestWeightListener, setQueryEncodedString, setQueryParameters, setRegion, setRequestHeaders, setRequestHeaders, setRequestHeaders, setRequestURL, setSign, setSign, setSign, setSign, setSign, setSignInUrl, setSignKeyTime, setSignParamsAndHeaders, setSignSourceProvider, setTask, setTaskStateListener, xmlBuilderpublic AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
java.lang.String srcPath,
long position)
public AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
byte[] data,
long position)
public AppendObjectRequest(java.lang.String bucket,
java.lang.String cosPath,
java.io.InputStream inputStream,
long position)
public java.lang.String getMethod()
CosXmlRequestRequestMethodgetMethod 在类中 CosXmlRequestpublic java.util.Map<java.lang.String,java.lang.String> getQueryString()
CosXmlRequestgetQueryString 在类中 CosXmlRequestpublic RequestBodySerializer getRequestBody() throws CosXmlClientException
CosXmlRequestgetRequestBody 在类中 CosXmlRequestCosXmlClientException - 客户异常public void checkParameters()
throws CosXmlClientException
CosXmlRequestcheckParameters 在类中 ObjectRequestCosXmlClientException - cosXmlClientExceptionpublic void setPosition(long position)
position - public long getPosition()
public void setSrcPath(java.lang.String srcPath)
设置上传的本地文件路径
可以设置上传本地文件、字节数组或者输入流。每次只能上传一种类型,若同时设置, 则优先级为 本地文件 > 字节数组
srcPath - 本地文件路径setData(byte[])public java.lang.String getSrcPath()
public void setData(byte[] data)
设置上传的字节数组
可以设置上传本地文件、字节数组或者输入流。每次只能上传一种类型,若同时设置, 则优先级为 本地文件>字节数组>输入流
data - 需要上传的字节数组public byte[] getData()
public long getFileLength()
public void setProgressListener(CosXmlProgressListener progressListener)
progressListener - public CosXmlProgressListener getProgressListener()
public void setCacheControl(@NonNull
java.lang.String cacheControl)
设置缓存策略
即RFC 2616 中定义的Cache-Control头部
cacheControl - Cache-Control头部public void setContentDisposition(@NonNull
java.lang.String contentDisposition)
设置文件名称。
即RFC 2616 中定义的Content-Disposition头部
contentDisposition - Content-Disposition头部public void setContentEncodeing(@NonNull
java.lang.String contentEncoding)
设置编码格式。
即RFC 2616 中定义的Content-Encoding头部
contentEncoding - Content-Encoding头部public void setExpires(@NonNull
java.lang.String expires)
设置过期时间。
即RFC 2616 中定义的Expires头部
expires - Expires头部public void setXCOSMeta(java.lang.String key,
java.lang.String value)
自定义的头部信息
key需要以x-cos-meta-开头
key - 自定义头部key,需要以x-cos-meta-开头value - 自定义头部valuepublic void setXCOSACL(java.lang.String cosacl)
设置Bucket访问权限
cosacl - acl字符串public void setXCOSACL(COSACL cosacl)
cosacl - acl枚举public void setXCOSGrantRead(ACLAccount aclAccount)
单独明确赋予用户读权限
aclAccount - 读权限用户列表public void setXCOSGrantWrite(ACLAccount aclAccount)
赋予被授权者写的权限
aclAccount - 写权限用户列表public void setXCOSReadWrite(ACLAccount aclAccount)
赋予被授权者读写权限。
aclAccount - 读写用户权限列表