类 AppendObjectRequest


  • public final class AppendObjectRequest
    extends com.tencent.cos.xml.model.object.ObjectRequest

    追加上传对象的请求。

    追加上传的对象,每个分块大小默认最大为5GB,无最小限制,同时通过追加方式产生的对象大小不得超过5GB。如果 Position 的值和当前对象的长度不致,COS 会返回 409 错误。 如果追加一个 normal 属性的文件,COS 会返回 409 ObjectNotAppendable。

    appendable 的对象不可以被复制,不参与版本管理,不参与生命周期管理,不可跨区域复制。

    另请参阅:
    com.tencent.cos.xml.CosXml#appendObject(AppendObjectRequest), com.tencent.cos.xml.CosXml#appendObjectAsync(AppendObjectRequest, CosXmlResultListener)
    • 嵌套类概要

      • 从类继承的嵌套类/接口 com.tencent.cos.xml.model.CosXmlRequest

        com.tencent.cos.xml.model.CosXmlRequest.OnRequestWeightListener, com.tencent.cos.xml.model.CosXmlRequest.RequestNetworkType
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      java.io.InputStream inputStream  
      • 从类继承的字段 com.tencent.cos.xml.model.object.ObjectRequest

        cosPath
      • 从类继承的字段 com.tencent.cos.xml.model.CosXmlRequest

        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()  
      byte[] getData()
      获取用户设置的字节数组
      long getFileLength()
      获取用户设置的输入流读取的字节长度
      java.lang.String getMethod()  
      long getPosition()
      获取设置的追加操作起点
      com.tencent.cos.xml.listener.CosXmlProgressListener getProgressListener()
      获取用户设置的进度监听
      java.util.Map<java.lang.String,​java.lang.String> getQueryString()  
      com.tencent.qcloud.core.http.RequestBodySerializer getRequestBody()  
      java.lang.String getSrcPath()
      获取设置的本地文件路径
      void setCacheControl​(java.lang.String cacheControl)
      设置缓存策略
      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​(com.tencent.cos.xml.listener.CosXmlProgressListener progressListener)
      设置上传进度监听
      void setSrcPath​(java.lang.String srcPath)
      设置上传的本地文件路径
      void setXCOSACL​(COSACL cosacl)
      设置Bucket的ACL信息
      void setXCOSACL​(java.lang.String cosacl)
      设置Bucket访问权限
      void setXCOSGrantRead​(ACLAccount aclAccount)
      单独明确赋予用户读权限
      void setXCOSGrantWrite​(ACLAccount aclAccount)
      赋予被授权者写的权限
      void setXCOSMeta​(java.lang.String key, java.lang.String value)
      自定义的头部信息
      void setXCOSReadWrite​(ACLAccount aclAccount)
      赋予被授权者读写权限。
      • 从类继承的方法 com.tencent.cos.xml.model.object.ObjectRequest

        getContentType, getCosPath, getPath, setCosPath, setCOSServerSideEncryption, setCOSServerSideEncryptionWithCustomerKey, setCOSServerSideEncryptionWithKMS
      • 从类继承的方法 com.tencent.cos.xml.model.CosXmlRequest

        addHeader, addNoSignHeader, addNoSignHeader, addNoSignParams, addQuery, attachMetrics, getBucket, getClientTraceId, getCredentialProvider, getHost, getHttpTask, getKeyTime, getMetrics, getNetworkType, getNoSignHeaders, getNoSignParams, getPriority, getQueryEncodedString, getRegion, getRequestHeaders, getRequestHost, getRequestURL, getSignSourceProvider, getSTSCredentialScope, getWeight, headersHasUnsafeNonAscii, isNeedMD5, isSignInUrl, isSupportAccelerate, isSupportAccelerate, setClientTraceId, setCredential, setCredentialProvider, setHost, setNeedMD5, setNetworkType, setOnRequestWeightListener, setQueryEncodedString, setQueryParameters, setRegion, setRequestHeaders, setRequestHeaders, setRequestHeaders, setRequestURL, setSign, setSign, setSign, setSign, setSign, setSign, setSignInUrl, setSignKeyTime, setSignParamsAndHeaders, setSignSourceProvider, setTask, setTaskStateListener, xmlBuilder
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 字段详细资料

      • inputStream

        public java.io.InputStream inputStream
    • 构造器详细资料

      • AppendObjectRequest

        public AppendObjectRequest​(java.lang.String bucket,
                                   java.lang.String cosPath,
                                   java.lang.String srcPath,
                                   long position)
      • AppendObjectRequest

        public AppendObjectRequest​(java.lang.String bucket,
                                   java.lang.String cosPath,
                                   byte[] data,
                                   long position)
      • AppendObjectRequest

        public AppendObjectRequest​(java.lang.String bucket,
                                   java.lang.String cosPath,
                                   java.io.InputStream inputStream,
                                   long position)
    • 方法详细资料

      • getMethod

        public java.lang.String getMethod()
        指定者:
        getMethod 在类中 com.tencent.cos.xml.model.CosXmlRequest
      • getQueryString

        public java.util.Map<java.lang.String,​java.lang.String> getQueryString()
        覆盖:
        getQueryString 在类中 com.tencent.cos.xml.model.CosXmlRequest
      • getRequestBody

        public com.tencent.qcloud.core.http.RequestBodySerializer getRequestBody()
                                                                          throws com.tencent.cos.xml.exception.CosXmlClientException
        覆盖:
        getRequestBody 在类中 com.tencent.cos.xml.model.CosXmlRequest
        抛出:
        com.tencent.cos.xml.exception.CosXmlClientException
      • checkParameters

        public void checkParameters()
                             throws com.tencent.cos.xml.exception.CosXmlClientException
        覆盖:
        checkParameters 在类中 com.tencent.cos.xml.model.object.ObjectRequest
        抛出:
        com.tencent.cos.xml.exception.CosXmlClientException
      • setPosition

        public void setPosition​(long position)
        追加操作的起始点,单位:字节; 首次追加 position=0,后续追加 position= 当前 Object 的 content-length
        参数:
        position -
      • getPosition

        public long getPosition()
        获取设置的追加操作起点
        返回:
        long
      • setSrcPath

        public void setSrcPath​(java.lang.String srcPath)

        设置上传的本地文件路径

        可以设置上传本地文件、字节数组或者输入流。每次只能上传一种类型,若同时设置, 则优先级为 本地文件 > 字节数组

        参数:
        srcPath - 本地文件路径
        另请参阅:
        setData(byte[])
      • getSrcPath

        public java.lang.String getSrcPath()
        获取设置的本地文件路径
        返回:
        String
      • setData

        public void setData​(byte[] data)

        设置上传的字节数组

        可以设置上传本地文件、字节数组或者输入流。每次只能上传一种类型,若同时设置, 则优先级为 本地文件>字节数组>输入流

        参数:
        data - 需要上传的字节数组
      • getData

        public byte[] getData()
        获取用户设置的字节数组
        返回:
        byte[]
      • getFileLength

        public long getFileLength()
        获取用户设置的输入流读取的字节长度
        返回:
        long
      • setProgressListener

        public void setProgressListener​(com.tencent.cos.xml.listener.CosXmlProgressListener progressListener)
        设置上传进度监听
        参数:
        progressListener -
      • getProgressListener

        public com.tencent.cos.xml.listener.CosXmlProgressListener getProgressListener()
        获取用户设置的进度监听
        返回:
        CosXmlProgressListener
      • setCacheControl

        public void setCacheControl​(@NonNull
                                    java.lang.String cacheControl)

        设置缓存策略

        即RFC 2616 中定义的Cache-Control头部

        参数:
        cacheControl - Cache-Control头部
      • setContentDisposition

        public void setContentDisposition​(@NonNull
                                          java.lang.String contentDisposition)

        设置文件名称。

        即RFC 2616 中定义的Content-Disposition头部

        参数:
        contentDisposition - Content-Disposition头部
      • setContentEncodeing

        public void setContentEncodeing​(@NonNull
                                        java.lang.String contentEncoding)

        设置编码格式。

        即RFC 2616 中定义的Content-Encoding头部

        参数:
        contentEncoding - Content-Encoding头部
      • setExpires

        public void setExpires​(@NonNull
                               java.lang.String expires)

        设置过期时间。

        即RFC 2616 中定义的Expires头部

        参数:
        expires - Expires头部
      • setXCOSMeta

        public void setXCOSMeta​(java.lang.String key,
                                java.lang.String value)

        自定义的头部信息

        key需要以x-cos-meta-开头

        参数:
        key - 自定义头部key,需要以x-cos-meta-开头
        value - 自定义头部value
      • setXCOSACL

        public void setXCOSACL​(java.lang.String cosacl)

        设置Bucket访问权限


        有效值:
        • private :私有,默认值
        • public-read :公有读
        • public-read-write :公有读写

        参数:
        cosacl - acl字符串
      • setXCOSACL

        public void setXCOSACL​(COSACL cosacl)
        设置Bucket的ACL信息
        参数:
        cosacl - acl枚举
      • setXCOSGrantRead

        public void setXCOSGrantRead​(ACLAccount aclAccount)

        单独明确赋予用户读权限

        参数:
        aclAccount - 读权限用户列表
      • setXCOSGrantWrite

        public void setXCOSGrantWrite​(ACLAccount aclAccount)

        赋予被授权者写的权限

        参数:
        aclAccount - 写权限用户列表
      • setXCOSReadWrite

        public void setXCOSReadWrite​(ACLAccount aclAccount)

        赋予被授权者读写权限。

        参数:
        aclAccount - 读写用户权限列表