public final class AppendObjectRequest extends ObjectRequest
追加上传对象的请求。
追加上传的对象,每个分块大小默认最大为5GB,无最小限制,同时通过追加方式产生的对象大小不得超过5GB。如果 Position 的值和当前对象的长度不致,COS 会返回 409 错误。 如果追加一个 normal 属性的文件,COS 会返回 409 ObjectNotAppendable。
appendable 的对象不可以被复制,不参与版本管理,不参与生命周期管理,不可跨区域复制。
CosXmlRequest.OnRequestWeightListener
限定符和类型 | 字段和说明 |
---|---|
java.io.InputStream |
inputStream |
cosPath
bucket, 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, setCOSServerSideEncryptionWithKMS
addHeader, 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, xmlBuilder
public 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()
CosXmlRequest
RequestMethod
getMethod
在类中 CosXmlRequest
public java.util.Map<java.lang.String,java.lang.String> getQueryString()
CosXmlRequest
getQueryString
在类中 CosXmlRequest
public RequestBodySerializer getRequestBody() throws CosXmlClientException
CosXmlRequest
getRequestBody
在类中 CosXmlRequest
CosXmlClientException
- 客户异常public void checkParameters() throws CosXmlClientException
CosXmlRequest
checkParameters
在类中 ObjectRequest
CosXmlClientException
- 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
- 读写用户权限列表