Class ResumeUploader

  • Direct Known Subclasses:
    ConcurrentResumeUploader

    public class ResumeUploader
    extends BaseUploader
    同步分片上传

    分片上传 v1 参考文档:分片上传

    上传通过将一个文件分割为固定大小的块(4M),每次上传一个块的内容(服务端只分块,没有分片)。 等待所有块都上传完成之后,再将这些块拼接起来,构成一个完整的文件。

    分片上传 v2 参考文档:分片上传

    上传通过将一个文件分割为固定大小的块(大小可配置,通过 Configuration.resumableUploadAPIV2BlockSize),每次上传一个块的内容。 等待所有块都上传完成之后,再将这些块拼接起来,构成一个完整的文件。

    另外分片上传还支持纪录上传进度,如果本次上传被暂停,那么下次还可以从上次 上次完成的文件偏移位置,继续开始上传,这样就实现了断点续传功能。

    服务端网络较稳定,较大文件(如500M以上)才需要将块记录保存下来。 小文件没有必要,可以有效地实现大文件的上传。

    • Constructor Summary

      Constructors 
      Constructor Description
      ResumeUploader​(Client client, java.lang.String upToken, java.lang.String key, java.io.File file, StringMap params, java.lang.String mime, Recorder recorder, Configuration configuration)
      构建分片上传文件的对象【兼容老版本】 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;
      ResumeUploader​(Client client, java.lang.String upToken, java.lang.String key, java.io.InputStream stream, StringMap params, java.lang.String mime, Configuration configuration)
      构建分片上传文件流的对象【兼容老版本】 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;
      ResumeUploader​(Client client, java.lang.String upToken, java.lang.String key, java.io.InputStream stream, java.lang.String fileName, StringMap params, java.lang.String mime, Configuration configuration)
      构建分片上传文件流的对象 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Response upload()
      上传文件
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ResumeUploader

        public ResumeUploader​(Client client,
                              java.lang.String upToken,
                              java.lang.String key,
                              java.io.File file,
                              StringMap params,
                              java.lang.String mime,
                              Recorder recorder,
                              Configuration configuration)
        构建分片上传文件的对象【兼容老版本】 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;

        支持分片上传 v1/v2,支持断点续传 不支持并发【并发使用 ConcurrentResumeUploader】

        Parameters:
        client - 上传 client【必须】
        upToken - 上传凭证【必须】
        key - 文件保存名称【可选】
        file - 文件【必须】
        params - 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")
        mime - 文件 mime type【可选】
        recorder - 断点续传信息记录对象【可选】
        configuration - 上传配置信息【必须】
      • ResumeUploader

        public ResumeUploader​(Client client,
                              java.lang.String upToken,
                              java.lang.String key,
                              java.io.InputStream stream,
                              StringMap params,
                              java.lang.String mime,
                              Configuration configuration)
        构建分片上传文件流的对象【兼容老版本】 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;

        支持分片上传 v1/v2,支持并发 不支持断点续传,不支持定义file name,不支持并发【并发使用 ConcurrentResumeUploader】

        Parameters:
        client - 上传 client 【必须】
        upToken - 上传凭证 【必须】
        key - 文件保存名称 【可选】
        stream - 文件流 【必须】
        params - 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")
        mime - 文件 mime type【可选】
        configuration - 上传配置信息 【必须】
      • ResumeUploader

        public ResumeUploader​(Client client,
                              java.lang.String upToken,
                              java.lang.String key,
                              java.io.InputStream stream,
                              java.lang.String fileName,
                              StringMap params,
                              java.lang.String mime,
                              Configuration configuration)
        构建分片上传文件流的对象 分片上传时,每个上传操作会占用 blockSize 大小内存,blockSize 也即分片大小, 在分片 v1 中 blockSize 为 4M; 分片 v2 可自定义 blockSize,定义方式为:Configuration.resumableUploadAPIV2BlockSize,范围为:1M ~ 1GB,分片 v2 需要注意每个文件最大分片数量为 10000;

        支持分片上传 v1/v2,支持并发,支持定义file name 不支持断点续传,不支持并发【并发使用 ConcurrentResumeUploader】

        Parameters:
        client - 上传 client 【必须】
        upToken - 上传凭证 【必须】
        key - 文件保存名称 【可选】
        stream - 文件流 【必须】
        fileName - 文件名 【可选】
        params - 自定义参数【可选】 自定义文件 metadata 信息,key 需要增加前缀 x-qn-meta- :如 params.put("x-qn-meta-key", "foo") 用户自定义变量,key 需要增加前缀 x: :如 params.put("x:foo", "foo")
        mime - 文件 mime type 【可选】
        configuration - 上传配置信息 【必须】